--- rxvt-unicode/src/keyboard.C 2011/05/30 18:39:03 1.43 +++ rxvt-unicode/src/keyboard.C 2011/11/27 10:14:51 1.46 @@ -110,7 +110,7 @@ for (unsigned int i = 0; i < keymap.size (); ++i) { - free ((void *)keymap [i]->str); + free (keymap [i]->str); delete keymap [i]; keymap [i] = 0; } @@ -153,7 +153,7 @@ return; } else - rxvt_warn ("cannot parse list-type keysym '%s', processing as normal keysym.\n", translation); + rxvt_warn ("unable to parse list-type keysym '%s', processing as normal keysym.\n", translation); } register_translation (keysym, state, translation); @@ -179,8 +179,8 @@ else { delete key; - free ((void *)translation); - rxvt_fatal ("out of memory, aborting.\n"); + free (translation); + rxvt_fatal ("memory allocation failure. aborting.\n"); } } @@ -203,7 +203,7 @@ bool keyboard_manager::dispatch (rxvt_term *term, KeySym keysym, unsigned int state) { - assert (hash[0] == 0 && "register_done() need to be called"); + assert (("register_done() need to be called", hash[0] == 0)); state &= OtherModMask; // mask out uninteresting modifiers @@ -227,12 +227,7 @@ // TODO: do (some) translations, unescaping etc, here (allow \u escape etc.) free (wc); - switch (key.type) - { - case keysym_t::STRING: - output_string (term, str); - break; - } + output_string (term, str); free (str);