summaryrefslogtreecommitdiffhomepage
path: root/libbb/bb_askpass.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2014-07-01 13:20:22 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2014-07-01 13:20:22 +0200
commitd32fc647d7da1923a91750ae937bf9b517195c8f (patch)
tree30a465ac163710cca1814c3114e7b00f011ae327 /libbb/bb_askpass.c
parent184b2669175e562d58894e22f6320cebf3316c25 (diff)
libbb: fix bb_ask() to flush input before prompt, not after. Closes 7190
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb/bb_askpass.c')
-rw-r--r--libbb/bb_askpass.c5
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;