From 62b27fd48f6169a2f5be0337607bfffdd07a206d Mon Sep 17 00:00:00 2001 From: sof Date: Fri, 13 May 2005 16:58:02 +0000 Subject: [PATCH 1/1] [project @ 2005-05-13 16:58:02 by sof] flush_input_console__(): if the fd isn't connected to a console, treat flush as a NOP. Merge to STABLE. --- cbits/consUtils.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/cbits/consUtils.c b/cbits/consUtils.c index bb9e154..e0294b2 100644 --- a/cbits/consUtils.c +++ b/cbits/consUtils.c @@ -67,8 +67,17 @@ get_console_echo__(int fd) int flush_input_console__(int fd) { - HANDLE h; - if ( (h = (HANDLE)_get_osfhandle(fd)) != INVALID_HANDLE_VALUE ) { + HANDLE h = (HANDLE)_get_osfhandle(fd); + + if ( h != INVALID_HANDLE_VALUE ) { + /* If the 'fd' isn't connected to a console; treat the flush + * operation as a NOP. + */ + DWORD unused; + if ( !GetConsoleMode(h,&unused) && + GetLastError() == ERROR_INVALID_HANDLE ) { + return 0; + } if ( FlushConsoleInputBuffer(h) ) { return 0; } -- 1.7.10.4