Skip to content

Commit

Permalink
openssl: fix keypress requirement in apps on win32
Browse files Browse the repository at this point in the history
reapply b910613

PR: nodejs#9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <julien.gilli@joyent.com>

PR: nodejs#25523
PR-URL: nodejs/node-v0.x-archive#25523
Reviewed-By: Julien Gilli <jgilli@fastmail.fm>

PR: nodejs#25654
PR-URL: nodejs/node-v0.x-archive#25654
Reviewed-By: Julien Gilli <jgilli@fastmail.fm>
  • Loading branch information
Shigeki Ohtsu authored and Myles Borins committed Sep 22, 2016
1 parent 5981ca8 commit 46dbc38
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions deps/openssl/openssl/apps/s_client.c
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -1584,17 +1591,16 @@ 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
(STD_INPUT_HANDLE),
0)))
|| !read_tty))
continue;
#else
if(!i && (!_kbhit() || !read_tty) ) continue;
# endif
} else
i = select(width, (void *)&readfds, (void *)&writefds,
Expand Down Expand Up @@ -1793,12 +1799,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())
Expand Down

0 comments on commit 46dbc38

Please sign in to comment.