Don't overwrite modifiers in the buffer when making UTF-8 strings,

append instead.
pull/390/head
nicm 2016-04-25 17:05:53 +00:00
parent 075c086d29
commit 6bf2a43e67
1 changed files with 4 additions and 2 deletions

View File

@ -226,6 +226,7 @@ key_string_lookup_key(key_code key)
char tmp[8]; char tmp[8];
u_int i; u_int i;
struct utf8_data ud; struct utf8_data ud;
size_t off;
*out = '\0'; *out = '\0';
@ -270,8 +271,9 @@ key_string_lookup_key(key_code key)
/* Is this a UTF-8 key? */ /* Is this a UTF-8 key? */
if (key > 127 && key < KEYC_BASE) { if (key > 127 && key < KEYC_BASE) {
if (utf8_split(key, &ud) == UTF8_DONE) { if (utf8_split(key, &ud) == UTF8_DONE) {
memcpy(out, ud.data, ud.size); off = strlen(out);
out[ud.size] = '\0'; memcpy(out + off, ud.data, ud.size);
out[off + ud.size] = '\0';
return (out); return (out);
} }
} }