diff options
author | Denys Vlasenko | 2017-11-08 13:38:12 +0100 |
---|---|---|
committer | Denys Vlasenko | 2017-11-08 13:38:12 +0100 |
commit | 0a6772214002da55e982b06947320b8911a1975b (patch) | |
tree | 24f8e253c8d40e0698cc0faae5611a3c2942dc76 /libbb | |
parent | c3797d40a1c57352192c6106cc0f435e7d9c11e8 (diff) | |
download | busybox-0a6772214002da55e982b06947320b8911a1975b.zip busybox-0a6772214002da55e982b06947320b8911a1975b.tar.gz |
lineedit: get terminal width before printing prompt
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/lineedit.c | 4 |
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) { /* |