diff -urpN busybox-1.17.0/libbb/lineedit.c busybox-1.17.0-ask_terminal/libbb/lineedit.c --- busybox-1.17.0/libbb/lineedit.c 2010-06-24 04:40:43.000000000 +0200 +++ busybox-1.17.0-ask_terminal/libbb/lineedit.c 2010-07-25 00:04:59.000000000 +0200 @@ -1765,11 +1765,13 @@ static void cmdedit_setwidth(unsigned w, static void win_changed(int nsig) { + int sv_errno = errno; unsigned width; get_terminal_width_height(0, &width, NULL); cmdedit_setwidth(width, nsig /* - just a yes/no flag */); if (nsig == SIGWINCH) signal(SIGWINCH, win_changed); /* rearm ourself */ + errno = sv_errno; } static int lineedit_read_key(char *read_key_buffer)