Skip to content

Commit a3e0da2

Browse files
author
Shigeki Ohtsu
committed
openssl: fix keypress requirement in apps on win32
reapply b910613
1 parent a263eb1 commit a3e0da2

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

deps/openssl/openssl/apps/s_client.c

+13-7
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

@@ -1583,17 +1590,16 @@ int MAIN(int argc, char **argv)
15831590
tv.tv_usec = 0;
15841591
i = select(width, (void *)&readfds, (void *)&writefds,
15851592
NULL, &tv);
1586-
# if defined(OPENSSL_SYS_WINCE) || defined(OPENSSL_SYS_MSDOS)
1587-
if (!i && (!_kbhit() || !read_tty))
1588-
continue;
1589-
# else
1593+
#if defined(OPENSSL_USE_STD_INPUT_HANDLE)
15901594
if (!i && (!((_kbhit())
15911595
|| (WAIT_OBJECT_0 ==
15921596
WaitForSingleObject(GetStdHandle
15931597
(STD_INPUT_HANDLE),
15941598
0)))
15951599
|| !read_tty))
15961600
continue;
1601+
#else
1602+
if(!i && (!_kbhit() || !read_tty) ) continue;
15971603
# endif
15981604
} else
15991605
i = select(width, (void *)&readfds, (void *)&writefds,
@@ -1792,12 +1798,12 @@ int MAIN(int argc, char **argv)
17921798
}
17931799
}
17941800
#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS)
1795-
# if defined(OPENSSL_SYS_WINCE) || defined(OPENSSL_SYS_MSDOS)
1796-
else if (_kbhit())
1797-
# else
1801+
#if defined(OPENSSL_USE_STD_INPUT_HANDLE)
17981802
else if ((_kbhit())
17991803
|| (WAIT_OBJECT_0 ==
18001804
WaitForSingleObject(GetStdHandle(STD_INPUT_HANDLE), 0)))
1805+
#else
1806+
else if (_kbhit())
18011807
# endif
18021808
#elif defined (OPENSSL_SYS_NETWARE)
18031809
else if (_kbhit())

0 commit comments

Comments
 (0)