summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2016-12-22 14:13:42 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2016-12-22 14:13:42 +0100
commit39c9fc11993609dbe1d8de7a3811c25403d3049e (patch)
tree04d68dd94371b3217aeeaf86bcdb35036788e3ec
parent99dfe9f66a5e33ab0ce55850f57901bf5fe11692 (diff)
downloadvdr-39c9fc11993609dbe1d8de7a3811c25403d3049e.tar.gz
vdr-39c9fc11993609dbe1d8de7a3811c25403d3049e.tar.bz2
Fixed truncated date/time strings in the skins on multi-byte UTF-8 systems
-rw-r--r--CONTRIBUTORS3
-rw-r--r--HISTORY2
-rw-r--r--PLUGINS/src/skincurses/HISTORY2
-rw-r--r--PLUGINS/src/skincurses/skincurses.c5
-rw-r--r--skinclassic.c5
-rw-r--r--skinlcars.c5
-rw-r--r--skinsttng.c5
7 files changed, 15 insertions, 12 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 5061c2bb..529046ad 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -3449,3 +3449,6 @@ Robert Hannebauer <vdr@hannebauer.org>
Aitugan Sarbassov <isarbassov@gmail.com>
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
diff --git a/HISTORY b/HISTORY
index 6ef6d5bf..655c411d 100644
--- a/HISTORY
+++ b/HISTORY
@@ -8868,3 +8868,5 @@ Video Disk Recorder Revision History
- Fixed building VDR with systemd >= 230 (thanks to Ville Skyttä).
- Sorted sources.conf by continous azimuth (thanks to Lucian Muresan).
- 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).
diff --git a/PLUGINS/src/skincurses/HISTORY b/PLUGINS/src/skincurses/HISTORY
index d4673f26..2a2bccb0 100644
--- a/PLUGINS/src/skincurses/HISTORY
+++ b/PLUGINS/src/skincurses/HISTORY
@@ -135,3 +135,5 @@ VDR Plugin 'skincurses' Revision History
- Added cFont::Width(void) to get the default character width and allow stretched
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).
diff --git a/PLUGINS/src/skincurses/skincurses.c b/PLUGINS/src/skincurses/skincurses.c
index 2d98f5b9..d11736be 100644
--- a/PLUGINS/src/skincurses/skincurses.c
+++ b/PLUGINS/src/skincurses/skincurses.c
@@ -3,7 +3,7 @@
*
* 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>
@@ -408,8 +408,7 @@ void cSkinCursesDisplayMenu::SetEvent(const cEvent *Event)
return;
int y = 2;
cTextScroller ts;
- char t[32];
- snprintf(t, sizeof(t), "%s %s - %s", *Event->GetDateString(), *Event->GetTimeString(), *Event->GetEndTimeString());
+ cString t = cString::sprintf("%s %s - %s", *Event->GetDateString(), *Event->GetTimeString(), *Event->GetEndTimeString());
ts.Set(osd, 0, y, ScOsdWidth, ScOsdHeight - y - 2, t, &Font, clrYellow, clrBackground);
if (Event->Vps() && Event->Vps() != Event->StartTime()) {
cString buffer = cString::sprintf(" VPS: %s", *Event->GetVpsString());
diff --git a/skinclassic.c b/skinclassic.c
index b9919d84..26408993 100644
--- a/skinclassic.c
+++ b/skinclassic.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* 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"
@@ -352,8 +352,7 @@ void cSkinClassicDisplayMenu::SetEvent(const cEvent *Event)
const cFont *font = cFont::GetFont(fontOsd);
int y = y2;
cTextScroller ts;
- char t[32];
- snprintf(t, sizeof(t), "%s %s - %s", *Event->GetDateString(), *Event->GetTimeString(), *Event->GetEndTimeString());
+ cString t = cString::sprintf("%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));
if (Event->Vps() && Event->Vps() != Event->StartTime()) {
cString buffer = cString::sprintf(" VPS: %s ", *Event->GetVpsString());
diff --git a/skinlcars.c b/skinlcars.c
index d84a753f..0fae3b85 100644
--- a/skinlcars.c
+++ b/skinlcars.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* 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,
@@ -1636,8 +1636,7 @@ void cSkinLCARSDisplayMenu::SetEvent(const cEvent *Event)
int xl = xi00;
int y = yi00;
cTextScroller ts;
- char t[32];
- snprintf(t, sizeof(t), "%s %s - %s", *Event->GetDateString(), *Event->GetTimeString(), *Event->GetEndTimeString());
+ cString t = cString::sprintf("%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));
if (Event->Vps() && Event->Vps() != Event->StartTime()) {
cString buffer = cString::sprintf(" VPS: %s ", *Event->GetVpsString());
diff --git a/skinsttng.c b/skinsttng.c
index 7e450fda..792652ee 100644
--- a/skinsttng.c
+++ b/skinsttng.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* 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
@@ -655,8 +655,7 @@ void cSkinSTTNGDisplayMenu::SetEvent(const cEvent *Event)
int xl = x3 + TextSpacing;
int y = y3;
cTextScroller ts;
- char t[32];
- snprintf(t, sizeof(t), "%s %s - %s", *Event->GetDateString(), *Event->GetTimeString(), *Event->GetEndTimeString());
+ cString t = cString::sprintf("%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));
if (Event->Vps() && Event->Vps() != Event->StartTime()) {
cString buffer = cString::sprintf(" VPS: %s ", *Event->GetVpsString());