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
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr