summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--ext/openssl/ossl_ssl.c2
-rw-r--r--io.c3
-rw-r--r--win32/win32.c16
4 files changed, 13 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index 34933ef..506263b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 387b71c..282d512 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
diff --git a/io.c b/io.c
index 681ba97..debb94a 100644
--- a/io.c
+++ b/io.c
@@ -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 e36c0d1..f334e2f 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);