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

Reply via email to