Skip to content

Commit

Permalink
* io.c (rb_fdopen): set errno if it's zero on win32 platforms.
Browse files Browse the repository at this point in the history
* 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
unak committed Jul 26, 2003
1 parent c83e7df commit b431230
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 17 deletions.
9 changes: 9 additions & 0 deletions 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.
Expand Down
2 changes: 1 addition & 1 deletion ext/openssl/ossl_ssl.c
Expand Up @@ -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
Expand Down
3 changes: 3 additions & 0 deletions io.c
Expand Up @@ -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);
}
}
Expand Down
16 changes: 0 additions & 16 deletions win32/win32.c
Expand Up @@ -351,9 +351,6 @@ flock(int fd, int oper)
(DWORD)-1);
}

//#undef const
//FILE *fdopen(int, const char *);

//
// Initialization stuff
//
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit b431230

Please sign in to comment.