From eae97caa839051061ea4c6250ffade188036ae2d Mon Sep 17 00:00:00 2001 From: David Lawrence Ramsey Date: Tue, 7 Dec 2004 22:24:03 +0000 Subject: [PATCH] go back to storing multibyte characters in non-dynamically allocated arrays of MB_LEN_MAX length, as it's less complex git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2175 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- src/nano.c | 8 +++----- src/winio.c | 5 ++--- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/nano.c b/src/nano.c index 75a800fc..74427851 100644 --- a/src/nano.c +++ b/src/nano.c @@ -3567,13 +3567,13 @@ void do_output(int *kbinput, size_t kbinput_len) /* Do we have to call edit_refresh(), or can we get away with * update_line()? */ - char *key = charalloc( + char key[ #ifdef NANO_WIDE - MB_CUR_MAX + MB_LEN_MAX #else 1 #endif - ); /* The current multibyte character we have. */ + ]; /* The current multibyte character we have. */ int key_len; /* The length of the current multibyte * character. */ @@ -3665,8 +3665,6 @@ void do_output(int *kbinput, size_t kbinput_len) #endif } - free(key); - /* Turn constant cursor position display back on if it was on * before. */ if (old_constupdate) diff --git a/src/winio.c b/src/winio.c index da52d053..c2509032 100644 --- a/src/winio.c +++ b/src/winio.c @@ -263,18 +263,17 @@ void unget_input(buffer *input, size_t input_len) #ifdef NANO_WIDE if (!ISSET(NO_UTF8)) { size_t i; - char *key = charalloc(MB_CUR_MAX); /* Change all invalid wide character values to -1. */ for (i = 0; i < input_len; i++) { + char key[MB_LEN_MAX]; + if (!input[i].key_code) { if (wctomb(key, input[i].key) == -1) input[i].key = -1; } } - free(key); - /* Save all of the non-(-1) wide characters in another * buffer. */ for (i = 0; i < input_len; i++) { -- 2.39.5