summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2016-09-29 20:25:44 +0200
committerDenys Vlasenko2016-09-29 20:25:44 +0200
commit0448c55cc84294d330305066d8f0a16b56e04b8b (patch)
tree9264c74e05bf74f6072ca7a1f11d43e6b96978e0
parent7a24e8ffebf60d5d5343f7207bb84e5766c2f902 (diff)
downloadbusybox-0448c55cc84294d330305066d8f0a16b56e04b8b.zip
busybox-0448c55cc84294d330305066d8f0a16b56e04b8b.tar.gz
hush: G.user_input_buf[] is needed only if line editing is enabled
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--shell/hush.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/shell/hush.c b/shell/hush.c
index 65d7d87..d0b5333 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -834,7 +834,9 @@ struct globals {
int debug_indent;
#endif
struct sigaction sa;
- char user_input_buf[ENABLE_FEATURE_EDITING ? CONFIG_FEATURE_EDITING_MAX_LEN : 2];
+#if ENABLE_FEATURE_EDITING
+ char user_input_buf[CONFIG_FEATURE_EDITING_MAX_LEN];
+#endif
};
#define G (*ptr_to_globals)
/* Not #defining name to G.name - this quickly gets unwieldy
@@ -2174,7 +2176,10 @@ static int 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(G.line_input_state, prompt_str, G.user_input_buf, CONFIG_FEATURE_EDITING_MAX_LEN-1, /*timeout*/ -1);
+ r = read_line_input(G.line_input_state, prompt_str,
+ G.user_input_buf, CONFIG_FEATURE_EDITING_MAX_LEN-1,
+ /*timeout*/ -1
+ );
/* catch *SIGINT* etc (^C is handled by read_line_input) */
check_and_run_traps();
} while (r == 0 || G.flag_SIGINT); /* repeat if ^C or SIGINT */