From 6400a671b8775096f3c312cf04e413c3307b2edb Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 10 Feb 2005 03:06:43 +0000 Subject: [PATCH] * win32/win32.c (init_stdhandle): assign standard file handles. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ win32/win32.c | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/ChangeLog b/ChangeLog index 3b840a7aad..79ccea8c89 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu Feb 10 12:06:31 2005 Nobuyoshi Nakada + + * win32/win32.c (init_stdhandle): assign standard file handles. + Wed Feb 9 16:33:05 2005 NAKAMURA Usaku * ext/socket/socket.c (wait_connectable): fixed wrong condition. diff --git a/win32/win32.c b/win32/win32.c index 9de71d7a25..92d00166bd 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -409,6 +409,8 @@ static void init_env(void) NTLoginName[len] = '\0'; } +static void init_stdhandle(); + // // Initialization stuff // @@ -431,6 +433,8 @@ NtInitialize(int *argc, char ***argv) init_env(); + init_stdhandle(); + // Initialize Winsock StartSockets(); } @@ -1647,11 +1651,29 @@ rb_w32_open_osfhandle(long osfhandle, int flags) } return fh; /* return handle */ } + +static void +init_stdhandle() +{ + if (fileno(stdin) < 0) { + stdin->_file = 0; + } + if (fileno(stdout) < 0) { + stdout->_file = 1; + } + if (fileno(stderr) < 0) { + stderr->_file = 2; + } +} #else #define _set_osfhnd(fh, osfh) (void)((fh), (osfh)) #define _set_osflags(fh, flags) (void)((fh), (flags)) +static void +init_stdhandle() +{ +} #endif #ifdef __BORLANDC__