mirror of
				https://github.com/vdr-projects/vdr.git
				synced 2025-03-01 10:50:46 +00:00 
			
		
		
		
	Fixed truncated date/time strings in the skins on multi-byte UTF-8 systems
This commit is contained in:
		| @@ -3449,3 +3449,6 @@ Robert Hannebauer <vdr@hannebauer.org> | |||||||
|  |  | ||||||
| Aitugan Sarbassov <isarbassov@gmail.com> | Aitugan Sarbassov <isarbassov@gmail.com> | ||||||
|  for adding 'S58.5E Kazsat 3' to sources.conf |  for adding 'S58.5E Kazsat 3' to sources.conf | ||||||
|  |  | ||||||
|  | Sergey Chernyavskiy <glenvt18@gmail.com> | ||||||
|  |  for reporting truncated date/time strings in the skins on multi-byte UTF-8 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								HISTORY
									
									
									
									
									
								
							| @@ -8868,3 +8868,5 @@ Video Disk Recorder Revision History | |||||||
| - Fixed building VDR with systemd >= 230 (thanks to Ville Skytt<74>). | - Fixed building VDR with systemd >= 230 (thanks to Ville Skytt<74>). | ||||||
| - Sorted sources.conf by continous azimuth (thanks to Lucian Muresan). | - Sorted sources.conf by continous azimuth (thanks to Lucian Muresan). | ||||||
| - Added 'S58.5E Kazsat 3' to sources.conf (thanks to Aitugan Sarbassov). | - Added 'S58.5E Kazsat 3' to sources.conf (thanks to Aitugan Sarbassov). | ||||||
|  | - Fixed truncated date/time strings in the skins on multi-byte UTF-8 systems | ||||||
|  |   (reported by Sergey Chernyavskiy). | ||||||
|   | |||||||
| @@ -135,3 +135,5 @@ VDR Plugin 'skincurses' Revision History | |||||||
|  |  | ||||||
| - Added cFont::Width(void) to get the default character width and allow stretched | - Added cFont::Width(void) to get the default character width and allow stretched | ||||||
|   font drawing in high level OSDs (dummy for skincurses). |   font drawing in high level OSDs (dummy for skincurses). | ||||||
|  | - Fixed truncated date/time strings in the skins on multi-byte UTF-8 systems | ||||||
|  |   (reported by Sergey Chernyavskiy). | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ | |||||||
|  * |  * | ||||||
|  * See the README file for copyright information and how to reach the author. |  * See the README file for copyright information and how to reach the author. | ||||||
|  * |  * | ||||||
|  * $Id: skincurses.c 4.1 2016/12/22 12:50:20 kls Exp $ |  * $Id: skincurses.c 4.2 2016/12/22 14:09:09 kls Exp $ | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| #include <ncurses.h> | #include <ncurses.h> | ||||||
| @@ -408,8 +408,7 @@ void cSkinCursesDisplayMenu::SetEvent(const cEvent *Event) | |||||||
|      return; |      return; | ||||||
|   int y = 2; |   int y = 2; | ||||||
|   cTextScroller ts; |   cTextScroller ts; | ||||||
|   char t[32]; |   cString t = cString::sprintf("%s  %s - %s", *Event->GetDateString(), *Event->GetTimeString(), *Event->GetEndTimeString()); | ||||||
|   snprintf(t, sizeof(t), "%s  %s - %s", *Event->GetDateString(), *Event->GetTimeString(), *Event->GetEndTimeString()); |  | ||||||
|   ts.Set(osd, 0, y, ScOsdWidth, ScOsdHeight - y - 2, t, &Font, clrYellow, clrBackground); |   ts.Set(osd, 0, y, ScOsdWidth, ScOsdHeight - y - 2, t, &Font, clrYellow, clrBackground); | ||||||
|   if (Event->Vps() && Event->Vps() != Event->StartTime()) { |   if (Event->Vps() && Event->Vps() != Event->StartTime()) { | ||||||
|      cString buffer = cString::sprintf(" VPS: %s", *Event->GetVpsString()); |      cString buffer = cString::sprintf(" VPS: %s", *Event->GetVpsString()); | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|  * See the main source file 'vdr.c' for copyright information and |  * See the main source file 'vdr.c' for copyright information and | ||||||
|  * how to reach the author. |  * how to reach the author. | ||||||
|  * |  * | ||||||
|  * $Id: skinclassic.c 2.10 2013/03/03 15:26:09 kls Exp $ |  * $Id: skinclassic.c 4.1 2016/12/22 14:07:04 kls Exp $ | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| #include "skinclassic.h" | #include "skinclassic.h" | ||||||
| @@ -352,8 +352,7 @@ void cSkinClassicDisplayMenu::SetEvent(const cEvent *Event) | |||||||
|   const cFont *font = cFont::GetFont(fontOsd); |   const cFont *font = cFont::GetFont(fontOsd); | ||||||
|   int y = y2; |   int y = y2; | ||||||
|   cTextScroller ts; |   cTextScroller ts; | ||||||
|   char t[32]; |   cString t = cString::sprintf("%s  %s - %s", *Event->GetDateString(), *Event->GetTimeString(), *Event->GetEndTimeString()); | ||||||
|   snprintf(t, sizeof(t), "%s  %s - %s", *Event->GetDateString(), *Event->GetTimeString(), *Event->GetEndTimeString()); |  | ||||||
|   ts.Set(osd, x1, y, x2 - x1, y3 - y, t, font, Theme.Color(clrMenuEventTime), Theme.Color(clrBackground)); |   ts.Set(osd, x1, y, x2 - x1, y3 - y, t, font, Theme.Color(clrMenuEventTime), Theme.Color(clrBackground)); | ||||||
|   if (Event->Vps() && Event->Vps() != Event->StartTime()) { |   if (Event->Vps() && Event->Vps() != Event->StartTime()) { | ||||||
|      cString buffer = cString::sprintf(" VPS: %s ", *Event->GetVpsString()); |      cString buffer = cString::sprintf(" VPS: %s ", *Event->GetVpsString()); | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|  * See the main source file 'vdr.c' for copyright information and |  * See the main source file 'vdr.c' for copyright information and | ||||||
|  * how to reach the author. |  * how to reach the author. | ||||||
|  * |  * | ||||||
|  * $Id: skinlcars.c 4.1 2015/09/01 10:07:07 kls Exp $ |  * $Id: skinlcars.c 4.2 2016/12/22 14:05:56 kls Exp $ | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| // "Star Trek: The Next Generation"(R) is a registered trademark of Paramount Pictures, | // "Star Trek: The Next Generation"(R) is a registered trademark of Paramount Pictures, | ||||||
| @@ -1636,8 +1636,7 @@ void cSkinLCARSDisplayMenu::SetEvent(const cEvent *Event) | |||||||
|   int xl = xi00; |   int xl = xi00; | ||||||
|   int y = yi00; |   int y = yi00; | ||||||
|   cTextScroller ts; |   cTextScroller ts; | ||||||
|   char t[32]; |   cString t = cString::sprintf("%s  %s - %s", *Event->GetDateString(), *Event->GetTimeString(), *Event->GetEndTimeString()); | ||||||
|   snprintf(t, sizeof(t), "%s  %s - %s", *Event->GetDateString(), *Event->GetTimeString(), *Event->GetEndTimeString()); |  | ||||||
|   ts.Set(osd, xl, y, xi01 - xl, yi01 - y, t, font, Theme.Color(clrEventTime), Theme.Color(clrBackground)); |   ts.Set(osd, xl, y, xi01 - xl, yi01 - y, t, font, Theme.Color(clrEventTime), Theme.Color(clrBackground)); | ||||||
|   if (Event->Vps() && Event->Vps() != Event->StartTime()) { |   if (Event->Vps() && Event->Vps() != Event->StartTime()) { | ||||||
|      cString buffer = cString::sprintf(" VPS: %s ", *Event->GetVpsString()); |      cString buffer = cString::sprintf(" VPS: %s ", *Event->GetVpsString()); | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|  * See the main source file 'vdr.c' for copyright information and |  * See the main source file 'vdr.c' for copyright information and | ||||||
|  * how to reach the author. |  * how to reach the author. | ||||||
|  * |  * | ||||||
|  * $Id: skinsttng.c 3.1 2013/11/15 15:33:14 kls Exp $ |  * $Id: skinsttng.c 4.1 2016/12/22 14:07:22 kls Exp $ | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| // "Star Trek: The Next Generation"(R) is a registered trademark of Paramount Pictures | // "Star Trek: The Next Generation"(R) is a registered trademark of Paramount Pictures | ||||||
| @@ -655,8 +655,7 @@ void cSkinSTTNGDisplayMenu::SetEvent(const cEvent *Event) | |||||||
|   int xl = x3 + TextSpacing; |   int xl = x3 + TextSpacing; | ||||||
|   int y = y3; |   int y = y3; | ||||||
|   cTextScroller ts; |   cTextScroller ts; | ||||||
|   char t[32]; |   cString t = cString::sprintf("%s  %s - %s", *Event->GetDateString(), *Event->GetTimeString(), *Event->GetEndTimeString()); | ||||||
|   snprintf(t, sizeof(t), "%s  %s - %s", *Event->GetDateString(), *Event->GetTimeString(), *Event->GetEndTimeString()); |  | ||||||
|   ts.Set(osd, xl, y, x4 - xl, y4 - y, t, font, Theme.Color(clrMenuEventTime), Theme.Color(clrBackground)); |   ts.Set(osd, xl, y, x4 - xl, y4 - y, t, font, Theme.Color(clrMenuEventTime), Theme.Color(clrBackground)); | ||||||
|   if (Event->Vps() && Event->Vps() != Event->StartTime()) { |   if (Event->Vps() && Event->Vps() != Event->StartTime()) { | ||||||
|      cString buffer = cString::sprintf(" VPS: %s ", *Event->GetVpsString()); |      cString buffer = cString::sprintf(" VPS: %s ", *Event->GetVpsString()); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user