Fixed handling single byte characters >0x7F in Utf8ToArray()

This commit is contained in:
Klaus Schmidinger 2007-07-20 13:56:38 +02:00
parent 3796bebfc5
commit 57c2b211e4
3 changed files with 5 additions and 2 deletions

View File

@ -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

View File

@ -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).

View File

@ -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);