[git commit] hush: G.user_input_buf[] is needed only if line editing is enabled

Denys Vlasenko vda.linux at googlemail.com
Thu Sep 29 18:25:44 UTC 2016


commit: https://git.busybox.net/busybox/commit/?id=0448c55cc84294d330305066d8f0a16b56e04b8b
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 shell/hush.c | 9 +++++++--
 1 file 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 */


More information about the busybox-cvs mailing list