[kbd] Pull request for auto-convert-keymaps

Alexey Gladkov gladkov.alexey at gmail.com
Fri May 8 14:58:40 MSD 2009


On 06.05.2009 23:06, Michael Schutte wrote:
> Hey,
> 
> May I ask you to
> 
>     git pull git://git.debian.org/pkg-kbd/kbd.git auto-convert-keymaps
> 
> into your auto-convert-keymaps branch?  This is the one-line log:
> 
>     5aa247b Regenerate analyze.c and loadkeys.c
>     18eadfe Support Unicode compose tables
>     b9f77f5 Support bidirectional conversion of keysyms

+/* Directions for converting keysyms */
+#define TO_AUTO (-1)           /* use prefer_unicode */
+#define TO_8BIT 0
+#define TO_UNICODE 1
...
+       else if (direction == (code >= 0x1000))
+               result = code;          /* no conversion necessary */
+       else if (code < 0x80)
+               result = direction ? (code ^ 0xf000) : code;
+       else if ((code ^ 0xf000) < 0x80)
+               result = direction ? code : (code ^ 0xf000);

I almost broke the brain by reading it. You call convert_code() with
TO_{AUTO,8BIT,UNICODE} , but you do not using these definition in this
function.

>     68cbd1c Fix two problems with the keymap auto-conversion patch

@@ -1695,6 +1696,8 @@ set_charset(const char *charset) {
                                if(p->name[0])
                                        syms[0].table[i] = p->name;
                        }
+                       if (chosen_charset)
+                               free(chosen_charset);
                        chosen_charset = strdup(charset);
                        return 0;
                }

You fixed memory leak, but still have not released memory in all the
programs that use set_charset().

-- 
Rgrds, legion



More information about the kbd mailing list