On 07/22/07 16:56, Luca Olivetti wrote: > En/na Klaus Schmidinger ha escrit: >> VDR developer version 1.5.6 is now available at > > With this version display of national character broke here, e.g. "WDR > münster" changed to "WDR m<little square>nster" (not only in the > channels name, also in the epg for wdr, zdf, das erste ). > > I reverted these two fixes in tools.c: > >> - Fixed a buffer overflow in initializing the system character table (thanks >> to Marco Schlüßler). > [...] >> - Fixed handling single byte characters >0x7F in Utf8ToArray() (thanks to Udo >> Richter). > > with no result. Marco Schlüßler sent me the fix - see attachment. It was a side effect of the changes in skipspace()... Klaus
diff -bur vdr-1.5.6_orig/tools.h vdr-1.5.6/tools.h --- vdr-1.5.6_orig/tools.h 2007-07-22 18:54:14.000000000 +0200 +++ vdr-1.5.6/tools.h 2007-07-22 18:56:30.000000000 +0200 @@ -175,9 +175,9 @@ char *strreplace(char *s, const char *s1, const char *s2); ///< re-allocates 's' and deletes the original string if necessary! inline char *skipspace(const char *s) { - if (*s > ' ') // most strings don't have any leading space, so handle this case as fast as possible + if ((uchar)*s > ' ') // most strings don't have any leading space, so handle this case as fast as possible return (char *)s; - while (*s && *s <= ' ') // avoiding isspace() here, because it is much slower + while (*s && (uchar)*s <= ' ') // avoiding isspace() here, because it is much slower s++; return (char *)s; }
_______________________________________________ vdr mailing list vdr@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr