hush: fix "unset PS1/PS2", and put them into initial variable set

"unset PS1/PS2" causes prompts to be empty strings

function                                             old     new   delta
hush_main                                           1031    1089     +58
goto_new_line                                         27      33      +6
fgetc_interactive                                    244     245      +1
unset_local_var                                      155     149      -6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/1 up/down: 65/-6)              Total: 59 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2018-04-06 17:58:21 +02:00
parent d1d6d9c5d8
commit f5018dac21
2 changed files with 37 additions and 30 deletions

View File

@@ -430,7 +430,8 @@ static void put_till_end_and_adv_cursor(void)
static void goto_new_line(void)
{
put_till_end_and_adv_cursor();
if (cmdedit_x != 0)
/* "cursor == 0" is only if prompt is "" and user input is empty */
if (cursor == 0 || cmdedit_x != 0)
bb_putchar('\n');
}