Skip to content

Commit c1ddefd

Browse files
Shigeki OhtsuMyles Borins
Shigeki Ohtsu
authored and
Myles Borins
committed
openssl: fix keypress requirement in apps on win32
Reapply b910613 . Fixes: #589 PR-URL: #1389 Reviewed-By: Fedor Indutny <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]>
1 parent 263cc34 commit c1ddefd

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

deps/openssl/openssl/apps/s_client.c

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,13 @@ typedef unsigned int u_int;
180180
# include <fcntl.h>
181181
#endif
182182

183+
/* Use Windows API with STD_INPUT_HANDLE when checking for input?
184+
Don't look at OPENSSL_SYS_MSDOS for this, since it is always defined if
185+
OPENSSL_SYS_WINDOWS is defined */
186+
#if defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_WINCE) && defined(STD_INPUT_HANDLE)
187+
#define OPENSSL_USE_STD_INPUT_HANDLE
188+
#endif
189+
183190
#undef PROG
184191
#define PROG s_client_main
185192

@@ -1764,17 +1771,16 @@ int MAIN(int argc, char **argv)
17641771
tv.tv_usec = 0;
17651772
i = select(width, (void *)&readfds, (void *)&writefds,
17661773
NULL, &tv);
1767-
# if defined(OPENSSL_SYS_WINCE) || defined(OPENSSL_SYS_MSDOS)
1768-
if (!i && (!_kbhit() || !read_tty))
1769-
continue;
1770-
# else
1774+
#if defined(OPENSSL_USE_STD_INPUT_HANDLE)
17711775
if (!i && (!((_kbhit())
17721776
|| (WAIT_OBJECT_0 ==
17731777
WaitForSingleObject(GetStdHandle
17741778
(STD_INPUT_HANDLE),
17751779
0)))
17761780
|| !read_tty))
17771781
continue;
1782+
#else
1783+
if(!i && (!_kbhit() || !read_tty) ) continue;
17781784
# endif
17791785
} else
17801786
i = select(width, (void *)&readfds, (void *)&writefds,
@@ -1976,12 +1982,12 @@ int MAIN(int argc, char **argv)
19761982
}
19771983
}
19781984
#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS)
1979-
# if defined(OPENSSL_SYS_WINCE) || defined(OPENSSL_SYS_MSDOS)
1980-
else if (_kbhit())
1981-
# else
1985+
#if defined(OPENSSL_USE_STD_INPUT_HANDLE)
19821986
else if ((_kbhit())
19831987
|| (WAIT_OBJECT_0 ==
19841988
WaitForSingleObject(GetStdHandle(STD_INPUT_HANDLE), 0)))
1989+
#else
1990+
else if (_kbhit())
19851991
# endif
19861992
#elif defined (OPENSSL_SYS_NETWARE)
19871993
else if (_kbhit())

0 commit comments

Comments
 (0)