diff options
author | Shigeki Ohtsu <ohtsu@iij.ad.jp> | 2015-02-17 11:30:28 +0900 |
---|---|---|
committer | Shigeki Ohtsu <ohtsu@ohtsu.org> | 2016-09-22 23:06:28 +0900 |
commit | ad0260a43ea681914bb47bfda222bf2eeb771cf7 (patch) | |
tree | bc119557cc1345e5291b0f951fc754576d234c1c /deps/openssl/openssl/apps | |
parent | f427cac3b1e6c047dbb66893cc5bd027ef8a16c1 (diff) | |
download | android-node-v8-ad0260a43ea681914bb47bfda222bf2eeb771cf7.tar.gz android-node-v8-ad0260a43ea681914bb47bfda222bf2eeb771cf7.tar.bz2 android-node-v8-ad0260a43ea681914bb47bfda222bf2eeb771cf7.zip |
openssl: fix keypress requirement in apps on win32
Reapply b910613792dac946b295855963869933a9089044 .
Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/openssl/openssl/apps')
-rw-r--r-- | deps/openssl/openssl/apps/s_client.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/deps/openssl/openssl/apps/s_client.c b/deps/openssl/openssl/apps/s_client.c index 41a326fbb8..8374717e68 100644 --- a/deps/openssl/openssl/apps/s_client.c +++ b/deps/openssl/openssl/apps/s_client.c @@ -180,6 +180,13 @@ typedef unsigned int u_int; # include <fcntl.h> #endif +/* Use Windows API with STD_INPUT_HANDLE when checking for input? + Don't look at OPENSSL_SYS_MSDOS for this, since it is always defined if + OPENSSL_SYS_WINDOWS is defined */ +#if defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_WINCE) && defined(STD_INPUT_HANDLE) +#define OPENSSL_USE_STD_INPUT_HANDLE +#endif + #undef PROG #define PROG s_client_main @@ -1790,10 +1797,7 @@ int MAIN(int argc, char **argv) tv.tv_usec = 0; i = select(width, (void *)&readfds, (void *)&writefds, NULL, &tv); -# if defined(OPENSSL_SYS_WINCE) || defined(OPENSSL_SYS_MSDOS) - if (!i && (!_kbhit() || !read_tty)) - continue; -# else +#if defined(OPENSSL_USE_STD_INPUT_HANDLE) if (!i && (!((_kbhit()) || (WAIT_OBJECT_0 == WaitForSingleObject(GetStdHandle @@ -1801,6 +1805,8 @@ int MAIN(int argc, char **argv) 0))) || !read_tty)) continue; +#else + if(!i && (!_kbhit() || !read_tty) ) continue; # endif } else i = select(width, (void *)&readfds, (void *)&writefds, @@ -2002,12 +2008,12 @@ int MAIN(int argc, char **argv) } } #if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS) -# if defined(OPENSSL_SYS_WINCE) || defined(OPENSSL_SYS_MSDOS) - else if (_kbhit()) -# else +#if defined(OPENSSL_USE_STD_INPUT_HANDLE) else if ((_kbhit()) || (WAIT_OBJECT_0 == WaitForSingleObject(GetStdHandle(STD_INPUT_HANDLE), 0))) +#else + else if (_kbhit()) # endif #elif defined (OPENSSL_SYS_NETWARE) else if (_kbhit()) |