diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-05-31 09:13:34 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-05-31 09:13:34 +0000 |
commit | 8a4cbc733114d0a51bc324b466764d10985cbd80 (patch) | |
tree | 218dc2e4d069b9656143ab3e0de06aaa97c26209 /io.c | |
parent | 1307f8d555235116f0f0c79b9902df9cfd4bff12 (diff) |
990531
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_3@478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -55,8 +55,12 @@ struct timeval { #include <sys/errno.h> #include <unix.mac.h> #include <compat.h> - extern char* strdup(const char*); #endif + +#ifndef strdup +char *strdup(); +#endif + extern void Init_File _((void)); #ifdef __BEOS__ @@ -866,9 +870,11 @@ static void rb_io_fptr_close(fptr) OpenFile *fptr; { + int fd; + if (fptr->f == NULL && fptr->f2 == NULL) return; - rb_thread_fd_close(fileno(fptr->f)); + fd = fileno(fptr->f); if (fptr->finalize) { (*fptr->finalize)(fptr); } @@ -876,6 +882,7 @@ rb_io_fptr_close(fptr) fptr_finalize(fptr); } fptr->f = fptr->f2 = NULL; + rb_thread_fd_close(fd); } void |