]> git.wh0rd.org Git - nano.git/commitdiff
go back to storing multibyte characters in non-dynamically allocated
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Tue, 7 Dec 2004 22:24:03 +0000 (22:24 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Tue, 7 Dec 2004 22:24:03 +0000 (22:24 +0000)
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
src/winio.c

index 75a800fc9b0a9f8b68031cab4e5473590aeb307d..74427851e42e9ff5d6912a7d113be25dad438192 100644 (file)
@@ -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)
index da52d05344ac10412755bc99edc6a92edcf128d2..c2509032207f2154d8e125607e66ea8ac83e94d1 100644 (file)
@@ -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++) {