diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-02-20 01:09:21 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-02-20 01:09:21 +0000 |
commit | f761aacdd8689f92e29fe9cb659060f4df198db9 (patch) | |
tree | 81678ccd31ab6e16ee1e257fbecfffc8e91db074 /io.c | |
parent | f1c975b87aa1ac6b50e53424ba8ff4a0c73985e9 (diff) | |
download | ruby-f761aacdd8689f92e29fe9cb659060f4df198db9.tar.gz |
* io.c (open_key_args): set arg->io even if no options passed.
[ruby-dev:33072]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -5851,7 +5851,7 @@ open_key_args(int argc, VALUE *argv, struct foreach_arg *arg) rb_ary_push(args, argv[0]); rb_ary_concat(args, v); MEMCPY(RARRAY_PTR(args)+1, RARRAY_PTR(v), VALUE, RARRAY_LEN(v)); - + arg->io = rb_f_open(RARRAY_LEN(args), RARRAY_PTR(args)); return; } @@ -5863,13 +5863,14 @@ open_key_args(int argc, VALUE *argv, struct foreach_arg *arg) args[1] = v; arg->io = rb_f_open(2, args); } + + if (!arg->io) { + arg->io = rb_io_open(RSTRING_PTR(argv[0]), "r"); + } + v = rb_hash_aref(opt, encoding); if (!NIL_P(v)) { rb_io_t *fptr; - - if (!arg->io) { - arg->io = rb_io_open(RSTRING_PTR(argv[0]), "r"); - } GetOpenFile(arg->io, fptr); mode_enc(fptr, StringValueCStr(v)); } |