summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY2
-rw-r--r--tools.c4
3 files changed, 5 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index ffd4c8f3..264d24b0 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -1500,6 +1500,7 @@ Udo Richter <udo_richter@gmx.de>
for making the HUP signal force a restart of VDR
for fixing a race condition with signal handlers at program exit
for fixing handling detached processes in SystemExec()
+ for fixing handling single byte characters >0x7F in Utf8ToArray()
Sven Kreiensen <svenk@kammer.uni-hannover.de>
for his help in keeping 'channels.conf.terr' up to date
diff --git a/HISTORY b/HISTORY
index 5cbbf184..0043cc4e 100644
--- a/HISTORY
+++ b/HISTORY
@@ -5281,3 +5281,5 @@ Video Disk Recorder Revision History
- Fixed a buffer overflow in initializing the system character table (thanks
to Marco Schlüßler).
- Updated the Russian OSD texts (thanks to Oleg Roitburd).
+- Fixed handling single byte characters >0x7F in Utf8ToArray() (thanks to Udo
+ Richter).
diff --git a/tools.c b/tools.c
index 2e646d19..46b691b9 100644
--- a/tools.c
+++ b/tools.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: tools.c 1.131 2007/07/16 15:23:28 kls Exp $
+ * $Id: tools.c 1.132 2007/07/20 13:17:40 kls Exp $
*/
#include "tools.h"
@@ -685,7 +685,7 @@ int Utf8ToArray(const char *s, uint *a, int Size)
int n = 0;
while (*s && --Size > 0) {
if (cCharSetConv::SystemCharacterTable())
- *a++ = *s++;
+ *a++ = (uchar)(*s++);
else {
int sl = Utf8CharLen(s);
*a++ = Utf8CharGet(s, sl);