hush: use configured max line length, not BUFSIZE from libc
authorDenys Vlasenko <vda.linux@googlemail.com>
Mon, 19 Oct 2009 14:34:39 +0000 (16:34 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Mon, 19 Oct 2009 14:34:39 +0000 (16:34 +0200)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
shell/hush.c

index 69a86b14ca47aa30e1d0467424776a07b3185ad2..ae08c73269d14c385523f1416e6b074780408bcd 100644 (file)
@@ -556,7 +556,7 @@ struct globals {
        unsigned long memleak_value;
        int debug_indent;
 #endif
-       char user_input_buf[ENABLE_FEATURE_EDITING ? BUFSIZ : 2];
+       char user_input_buf[ENABLE_FEATURE_EDITING ? CONFIG_FEATURE_EDITING_MAX_LEN : 2];
 };
 #define G (*ptr_to_globals)
 /* Not #defining name to G.name - this quickly gets unwieldy
@@ -1666,7 +1666,7 @@ static void get_user_input(struct in_str *i)
                G.flag_SIGINT = 0;
                /* buglet: SIGINT will not make new prompt to appear _at once_,
                 * only after <Enter>. (^C will work) */
-               r = read_line_input(prompt_str, G.user_input_buf, BUFSIZ-1, G.line_input_state);
+               r = read_line_input(prompt_str, G.user_input_buf, CONFIG_FEATURE_EDITING_MAX_LEN-1, G.line_input_state);
                /* catch *SIGINT* etc (^C is handled by read_line_input) */
                check_and_run_traps(0);
        } while (r == 0 || G.flag_SIGINT); /* repeat if ^C or SIGINT */