diff options
author | ocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-07-25 02:08:12 +0000 |
---|---|---|
committer | ocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-07-25 02:08:12 +0000 |
commit | c5cd2349e9293139182605fd67b3d0cf6570b853 (patch) | |
tree | 46163874368ca6cf443e7286774156243efaf8e7 /win32/win32.h | |
parent | dfee36e55599d5735bf646efdabc3b9356189957 (diff) |
* win32/win32.{h,c} (rb_w32_{f,fd,fs}open): workaround for bcc32's
{f,fd,fs}open bug. set errno EMFILE and EBADF. [ruby-dev:23963]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'win32/win32.h')
-rw-r--r-- | win32/win32.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/win32/win32.h b/win32/win32.h index 92dd59c169..60f9e3ddbd 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -113,6 +113,12 @@ extern "C++" { #define write(h, b, l) _write(h, b, l) #define _open _sopen #define sopen _sopen +#undef fopen +#define fopen(p, m) rb_w32_fopen(p, m) +#undef fdopen +#define fdopen(h, m) rb_w32_fdopen(h, m) +#undef fsopen +#define fsopen(p, m, sh) rb_w32_fsopen(p, m, sh) #endif #define fsync(h) _commit(h) #undef stat @@ -178,6 +184,12 @@ extern int do_aspawn(int, char *, char **); extern int kill(int, int); extern pid_t rb_w32_getpid(void); +#ifdef __BORLANDC__ +extern FILE *rb_w32_fopen(const char *, const char *); +extern FILE *rb_w32_fdopen(int, char *); +extern FILE *rb_w32_fsopen(const char *, const char *, int); +#endif + #include <float.h> #if !defined __MINGW32__ || defined __NO_ISOCEXT #ifndef isnan |