From: Denys Vlasenko Date: Sat, 24 Jul 2010 22:06:41 +0000 (+0200) Subject: lineedit: mostly revert recent wrong logic in "ask terminal" code X-Git-Tag: 1_18_0~390 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=451add4f23c14459734e05104ea0bc5ed4de39ee;p=oweals%2Fbusybox.git lineedit: mostly revert recent wrong logic in "ask terminal" code Signed-off-by: Denys Vlasenko --- diff --git a/libbb/lineedit.c b/libbb/lineedit.c index a62ab6d29..6df556f4e 100644 --- a/libbb/lineedit.c +++ b/libbb/lineedit.c @@ -149,7 +149,6 @@ struct lineedit_statics { CHAR_T delbuf[DELBUFSIZ]; /* a place to store deleted characters */ #endif #if ENABLE_FEATURE_EDITING_ASK_TERMINAL - smallint unknown_width; smallint sent_ESC_br6n; #endif @@ -1611,16 +1610,14 @@ static void ask_terminal(void) * poll([{fd=0, events=POLLIN}], 1, 4294967295) = 1 ([{fd=0, revents=POLLIN}]) * read(0, "\n", 1) = 1 <-- oh crap, user's input got in first */ - if (S.unknown_width) { /* only if window size is not known */ - struct pollfd pfd; - - pfd.fd = STDIN_FILENO; - pfd.events = POLLIN; - if (safe_poll(&pfd, 1, 0) == 0) { - S.sent_ESC_br6n = 1; - fputs("\033" "[6n", stdout); - fflush_all(); /* make terminal see it ASAP! */ - } + struct pollfd pfd; + + pfd.fd = STDIN_FILENO; + pfd.events = POLLIN; + if (safe_poll(&pfd, 1, 0) == 0) { + S.sent_ESC_br6n = 1; + fputs("\033" "[6n", stdout); + fflush_all(); /* make terminal see it ASAP! */ } } #else @@ -1768,7 +1765,7 @@ static void win_changed(int nsig) { int sv_errno = errno; unsigned width; - IF_FEATURE_EDITING_ASK_TERMINAL(S.unknown_width =) get_terminal_width_height(0, &width, NULL); + 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 */