summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2017-11-08 13:38:12 +0100
committerDenys Vlasenko2017-11-08 13:38:12 +0100
commit0a6772214002da55e982b06947320b8911a1975b (patch)
tree24f8e253c8d40e0698cc0faae5611a3c2942dc76
parentc3797d40a1c57352192c6106cc0f435e7d9c11e8 (diff)
downloadbusybox-0a6772214002da55e982b06947320b8911a1975b.zip
busybox-0a6772214002da55e982b06947320b8911a1975b.tar.gz
lineedit: get terminal width before printing prompt
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--libbb/lineedit.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libbb/lineedit.c b/libbb/lineedit.c
index 56e8140..5624a7f 100644
--- a/libbb/lineedit.c
+++ b/libbb/lineedit.c
@@ -2401,6 +2401,8 @@ int FAST_FUNC read_line_input(line_input_t *st, const char *prompt, char *comman
bb_error_msg("cur_history:%d cnt_history:%d", state->cur_history, state->cnt_history);
#endif
+ /* Get width (before printing prompt) */
+ cmdedit_termw = get_terminal_width(STDIN_FILENO);
/* Print out the command prompt, optionally ask where cursor is */
parse_and_put_prompt(prompt);
ask_terminal();
@@ -2410,8 +2412,6 @@ int FAST_FUNC read_line_input(line_input_t *st, const char *prompt, char *comman
S.SIGWINCH_handler.sa_flags = SA_RESTART;
sigaction(SIGWINCH, &S.SIGWINCH_handler, &S.SIGWINCH_handler);
- cmdedit_termw = get_terminal_width(STDIN_FILENO);
-
read_key_buffer[0] = 0;
while (1) {
/*