[vdr-1.5.5][Patch] inc/dec character not working for ÄÖÜ in non-UTF8

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Klaus,


Found a bug in VDR-1.5.5 in non-UTF8 mode. In any text field, when the cursor is on an uppercase non-ASCII character like ÄÖÜ, the up/down key jumps directly to A.

The core problem is that the non-UTF8 version of Utf8ToArray sign-extends chars to uints, turning the ä of the allowed chars into 0xFFFFFFE4, while the towlower() of the edit control changes the Ä into 0x000000E4, which is then not in the list of allowed characters. Lowercase works, since here everything stays sign-extended.

The attached patch changes Utf8ToArray to properly extend chars as unsigned.

Cheers,

Udo

--- vdr-1.5.5-orig/tools.c	2007-06-23 15:38:30.000000000 +0200
+++ vdr-1.5.5/tools.c	2007-06-28 21:10:58.000000000 +0200
@@ -685,7 +685,7 @@
   int n = 0;
   while (*s && --Size > 0) {
         if (cCharSetConv::SystemCharacterTable())
-           *a++ = *s++;
+           *a++ = (unsigned char)(*s++);
         else {
            int sl = Utf8CharLen(s);
            *a++ = Utf8CharGet(s, sl);
_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux