diff options
| -rw-r--r-- | apt-private/private-output.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/apt-private/private-output.cc b/apt-private/private-output.cc index 4a946f2b8..0c56026a5 100644 --- a/apt-private/private-output.cc +++ b/apt-private/private-output.cc @@ -23,6 +23,7 @@ #include <langinfo.h> #include <regex.h> #include <sys/ioctl.h> +#include <termios.h> #include <unistd.h> #include <sstream> @@ -809,6 +810,12 @@ bool YnPrompt(char const * const Question, bool const Default, bool const ShowGl else _error->DumpErrors(c2o, GlobalError::NOTICE); } + // ignore pending input on terminal + if (not AssumeYes && not AssumeNo && isatty(STDIN_FILENO) == 1) + { + tcflush(STDIN_FILENO, TCIFLUSH); + std::cin.clear(); + } c2o << Question << std::flush; |
