diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-04-14 09:04:43 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-04-14 09:04:43 +0000 |
commit | 362c468cceba21361da888d51460335e223366a4 (patch) | |
tree | c91af57d9eab1255f6710aea3de3cd3fb313494b /file.c | |
parent | f560b4adcc788b1c0473d739e04566e9bde6d46b (diff) | |
download | ruby-362c468cceba21361da888d51460335e223366a4.tar.gz ruby-362c468cceba21361da888d51460335e223366a4.tar.xz ruby-362c468cceba21361da888d51460335e223366a4.zip |
* rubyio.h (struct OpenFile): add error raise flag to finalizer.
* io.c (Init_IO): define $/, $-0, and $\ as string-only
variables.
* string.c (rb_str_split_m): does not generate empty string if
there's no match in the receiver.
* io.c (fptr_finalize): should raise error on EBADF for readable
IOs as well.
* file.c (rb_stat): use rb_check_convert_type() to retrieve IO.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'file.c')
-rw-r--r-- | file.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -346,11 +346,14 @@ rb_stat(file, st) VALUE file; struct stat *st; { - if (TYPE(file) == T_FILE) { + VALUE tmp; + + tmp = rb_check_convert_type(file, T_FILE, "IO", "to_io"); + if (!NIL_P(tmp)) { OpenFile *fptr; rb_secure(2); - GetOpenFile(file, fptr); + GetOpenFile(tmp, fptr); return fstat(fileno(fptr->f), st); } SafeStringValue(file); |