From a896d400a0bd65512e7c779306aae7480ee079b4 Mon Sep 17 00:00:00 2001 From: Brent Cook Date: Sun, 13 Sep 2015 09:19:26 -0500 Subject: move windows file IO mode setup to apps_win.c --- apps/openssl/compat/apps_win.c | 31 +++++++++++++++++++++++++++++++ patches/openssl.c.patch | 38 +++++--------------------------------- 2 files changed, 36 insertions(+), 33 deletions(-) diff --git a/apps/openssl/compat/apps_win.c b/apps/openssl/compat/apps_win.c index 496ac03..37bfcc9 100644 --- a/apps/openssl/compat/apps_win.c +++ b/apps/openssl/compat/apps_win.c @@ -7,6 +7,9 @@ #include +#include +#include + #include "apps.h" double @@ -27,3 +30,31 @@ app_tminterval(int stop, int usertime) } return 0; } + +int +setup_ui(void) +{ + ui_method = UI_create_method("OpenSSL application user interface"); + UI_method_set_opener(ui_method, ui_open); + UI_method_set_reader(ui_method, ui_read); + UI_method_set_writer(ui_method, ui_write); + UI_method_set_closer(ui_method, ui_close); + + /* + * Set STDIO to binary + */ + _setmode(_fileno(stdin), _O_BINARY); + _setmode(_fileno(stdout), _O_BINARY); + _setmode(_fileno(stderr), _O_BINARY); + + return 0; +} + +void +destroy_ui(void) +{ + if (ui_method) { + UI_destroy_method(ui_method); + ui_method = NULL; + } +} diff --git a/patches/openssl.c.patch b/patches/openssl.c.patch index ba3ac36..57282aa 100644 --- a/patches/openssl.c.patch +++ b/patches/openssl.c.patch @@ -1,40 +1,12 @@ ---- apps/openssl/openssl.c.orig 2015-07-20 02:01:42.000000000 -0600 -+++ apps/openssl/openssl.c 2015-07-20 02:02:00.000000000 -0600 -@@ -130,6 +130,19 @@ - #include - #endif - -+#ifdef _WIN32 -+#include -+#include -+static void set_stdio_binary(void) -+{ -+ _setmode(_fileno(stdin), _O_BINARY); -+ _setmode(_fileno(stdout), _O_BINARY); -+ _setmode(_fileno(stderr), _O_BINARY); -+} -+#else -+static void set_stdio_binary(void) {}; -+#endif -+ - #include "progs.h" - #include "s_apps.h" - -@@ -204,7 +216,9 @@ +--- apps/openssl/openssl.c.orig Sun Sep 13 09:11:31 2015 ++++ apps/openssl/openssl.c Sun Sep 13 09:10:02 2015 +@@ -399,7 +399,9 @@ static void openssl_startup(void) { +#ifndef _WIN32 signal(SIGPIPE, SIG_IGN); +#endif - - CRYPTO_malloc_init(); + OpenSSL_add_all_algorithms(); -@@ -216,6 +230,7 @@ - #endif - - setup_ui_method(); -+ set_stdio_binary(); - } - - static void + SSL_library_init(); -- cgit v1.2.3-55-g6feb