提交 d00b7aad 编写于 作者: D Dr. Stephen Henson

Workaround for a Win95 console bug triggered by the password read stuff.

上级 9985bed3
...@@ -5,7 +5,12 @@ ...@@ -5,7 +5,12 @@
Changes between 0.9.1c and 0.9.2 Changes between 0.9.1c and 0.9.2
*) Add text documentation for the BUFFER functions. *) Add text documentation for the BUFFER functions. Also added a work around
to a Win95 console bug. This was triggered by the password read stuff: the
last character typed gets carried over to the next fread(). If you were
generating a new cert request using 'req' for example then the last
character of the passphrase would be CR which would then enter the first
field as blank.
[Steve Henson] [Steve Henson]
*) Added the new `Includes OpenSSL Cryptography Software' button as *) Added the new `Includes OpenSSL Cryptography Software' button as
......
...@@ -63,6 +63,11 @@ ...@@ -63,6 +63,11 @@
#include <graph.h> #include <graph.h>
#endif #endif
#if defined(WIN32) && !defined(WINNT)
#define WIN_CONSOLE_BUG
#endif
/* 06-Apr-92 Luke Brennan Support for VMS */ /* 06-Apr-92 Luke Brennan Support for VMS */
#include "des_locl.h" #include "des_locl.h"
#include <signal.h> #include <signal.h>
...@@ -70,6 +75,12 @@ ...@@ -70,6 +75,12 @@
#include <setjmp.h> #include <setjmp.h>
#include <errno.h> #include <errno.h>
#ifdef WIN_CONSOLE_BUG
#include <windows.h>
#include <wincon.h>
#endif
/* There are 5 types of terminal interface supported, /* There are 5 types of terminal interface supported,
* TERMIO, TERMIOS, VMS, MSDOS and SGTTY * TERMIO, TERMIOS, VMS, MSDOS and SGTTY
*/ */
...@@ -462,6 +473,18 @@ FILE *tty; ...@@ -462,6 +473,18 @@ FILE *tty;
break; break;
} }
} }
#ifdef WIN_CONSOLE_BUG
/* Win95 has several evil console bugs: one of these is that the
* last character read using getch() is passed to the next read: this is
* usually a CR so this can be trouble. No STDIO fix seems to work but
* flushing the console appears to do the trick.
*/
{
HANDLE inh;
inh = GetStdHandle(STD_INPUT_HANDLE);
FlushConsoleInputBuffer(inh);
}
#endif
return(strlen(buf)); return(strlen(buf));
} }
#endif #endif
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册