diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2014-07-01 15:20:22 +0400 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2014-07-01 15:20:22 +0400 |
commit | d32fc647d7da1923a91750ae937bf9b517195c8f (patch) | |
tree | 30a465ac163710cca1814c3114e7b00f011ae327 | |
parent | 184b2669175e562d58894e22f6320cebf3316c25 (diff) |
libbb: fix bb_ask() to flush input before prompt, not after. Closes 7190
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | libbb/bb_askpass.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libbb/bb_askpass.c b/libbb/bb_askpass.c index 77c1bcd95..1927ba9e9 100644 --- a/libbb/bb_askpass.c +++ b/libbb/bb_askpass.c @@ -30,9 +30,12 @@ char* FAST_FUNC bb_ask(const int fd, int timeout, const char *prompt) struct sigaction sa, oldsa; struct termios tio, oldtio; + tcflush(fd, TCIFLUSH); + /* Was buggy: was printing prompt *before* flushing input, + * which was upsetting "expect" based scripts of some users. + */ fputs(prompt, stdout); fflush_all(); - tcflush(fd, TCIFLUSH); tcgetattr(fd, &oldtio); tio = oldtio; |