diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | ext/openssl/ossl_ssl.c | 2 | ||||
-rw-r--r-- | io.c | 3 | ||||
-rw-r--r-- | win32/win32.c | 16 |
4 files changed, 13 insertions, 17 deletions
@@ -1,3 +1,12 @@ +Sat Jul 26 21:25:21 2003 NAKAMURA Usaku <usa@ruby-lang.org> + + * io.c (rb_fdopen): set errno if it's zero on win32 platforms. + + * ext/openssl/ossl_ssl.c (TO_SOCKET): define special version when + _WIN32 is defined. this is ruby's problem, not OpenSSL. + + * win32/win32.c: remove some old comments. + Sat Jul 26 14:14:12 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net> * ext/stringio/stringio.c: includes Enumerable as well as IO. diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c index 387b71c3b1..282d512fe0 100644 --- a/ext/openssl/ossl_ssl.c +++ b/ext/openssl/ossl_ssl.c @@ -19,7 +19,7 @@ #define numberof(ary) (sizeof(ary)/sizeof(ary[0])) -#ifdef OPENSSL_SYS_WINDOWS +#ifdef _WIN32 # define TO_SOCKET(s) _get_osfhandle(s) #else # define TO_SOCKET(s) s @@ -1859,6 +1859,9 @@ rb_fdopen(fd, mode) file = fdopen(fd, mode); } if (!file) { +#ifdef _WIN32 + if (errno == 0) errno = EINVAL; +#endif rb_sys_fail(0); } } diff --git a/win32/win32.c b/win32/win32.c index e36c0d1cb7..f334e2f746 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -351,9 +351,6 @@ flock(int fd, int oper) (DWORD)-1); } -//#undef const -//FILE *fdopen(int, const char *); - // // Initialization stuff // @@ -1486,19 +1483,6 @@ valid_filename(char *s) return 0; } -// -// This is a clone of fdopen so that we can handle the -// brain damaged version of sockets that NT gets to use. -// -// The problem is that sockets are not real file handles and -// cannot be fdopen'ed. This causes problems in the do_socket -// routine in doio.c, since it tries to create two file pointers -// for the socket just created. We'll fake out an fdopen and see -// if we can prevent perl from trying to do stdio on sockets. -// - -//EXTERN_C int __cdecl _alloc_osfhnd(void); -//EXTERN_C int __cdecl _set_osfhnd(int fh, long value); EXTERN_C void __cdecl _lock_fhandle(int); EXTERN_C void __cdecl _unlock_fhandle(int); EXTERN_C void __cdecl _unlock(int); |