Commit d00b7aad authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

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

parent 9985bed3
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -5,7 +5,12 @@

 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]

  *) Added the new `Includes OpenSSL Cryptography Software' button as
+23 −0
Original line number Diff line number Diff line
@@ -63,6 +63,11 @@
#include <graph.h>
#endif

#if defined(WIN32) && !defined(WINNT)
#define WIN_CONSOLE_BUG
#endif


/* 06-Apr-92 Luke Brennan    Support for VMS */
#include "des_locl.h"
#include <signal.h>
@@ -70,6 +75,12 @@
#include <setjmp.h>
#include <errno.h>

#ifdef WIN_CONSOLE_BUG
#include <windows.h>
#include <wincon.h>
#endif


/* There are 5 types of terminal interface supported,
 * TERMIO, TERMIOS, VMS, MSDOS and SGTTY
 */
@@ -462,6 +473,18 @@ FILE *tty;
			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));
	}
#endif