diff options
-rw-r--r-- | CONTRIBUTORS | 1 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | tools.c | 4 |
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 @@ -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). @@ -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); |