This _WIN32-specific patch makes it possible to "wrap" OpenSSL in another
[openssl.git] / crypto / ui / ui_openssl.c
index f186a714dc6ca8571303e12caf745dbc4029af6c..1c2dcc406e66237b21f3ce279bc4eea64c51b42c 100644 (file)
@@ -473,7 +473,7 @@ static int open_console(UI *ui)
        CRYPTO_w_lock(CRYPTO_LOCK_UI);
        is_a_tty = 1;
 
-#if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE)
+#if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE) || defined(OPENSSL_SYS_BEOS)
        tty_in=stdin;
        tty_out=stderr;
 #else
@@ -578,7 +578,9 @@ static int close_console(UI *ui)
 /* Internal functions to handle signals and act on them */
 static void pushsig(void)
        {
+#ifndef OPENSSL_SYS_WIN32
        int i;
+#endif
 #ifdef SIGACTION
        struct sigaction sa;
 
@@ -623,8 +625,6 @@ static void pushsig(void)
 
 static void popsig(void)
        {
-       int i;
-
 #ifdef OPENSSL_SYS_WIN32
        signal(SIGABRT,savsig[SIGABRT]);
        signal(SIGFPE,savsig[SIGFPE]);
@@ -633,6 +633,7 @@ static void popsig(void)
        signal(SIGSEGV,savsig[SIGSEGV]);
        signal(SIGTERM,savsig[SIGTERM]);
 #else
+       int i;
        for (i=1; i<NX509_SIG; i++)
                {
 #ifdef SIGUSR1
@@ -676,6 +677,8 @@ static int noecho_fgets(char *buf, int size, FILE *tty)
                size--;
 #ifdef WIN16TTY
                i=_inchar();
+#elif defined(_WIN32)
+               i=_getch();
 #else
                i=getch();
 #endif