зеркало из https://github.com/github/ruby.git
* 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
c83e7dfab2
Коммит
b431230396
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
3
io.c
3
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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче