diff --git a/src/winio.c b/src/winio.c index db998d97b17b1a0a339db3bb509cd7f907ca3c65..cf6e3c660001a59151cf0acbfd97cdef28ae6d9f 100644 --- a/src/winio.c +++ b/src/winio.c @@ -1500,7 +1500,7 @@ int *parse_verbatim_kbinput(WINDOW *win, size_t *count) * Unicode value, and put back the corresponding byte(s). */ else { char *uni_mb; - int uni_mb_len, *seq, i; + int *seq, i; while (uni == ERR) { free(kbinput); @@ -1510,17 +1510,15 @@ int *parse_verbatim_kbinput(WINDOW *win, size_t *count) } /* Convert the Unicode value to a multibyte sequence. */ - uni_mb = make_mbchar(uni, &uni_mb_len); + uni_mb = make_mbchar(uni, (int *)count); - seq = (int *)nmalloc(uni_mb_len * sizeof(int)); + seq = (int *)nmalloc(*count * sizeof(int)); - for (i = 0; i < uni_mb_len; i++) + for (i = 0; i < *count; i++) seq[i] = (unsigned char)uni_mb[i]; /* Insert the multibyte sequence into the input buffer. */ - unget_input(seq, uni_mb_len); - - *count = uni_mb_len; + unget_input(seq, *count); free(seq); free(uni_mb);