diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-10 06:42:49 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-10 06:42:49 +0000 |
commit | a4c82312c356b2bfa33d2c11c7badc0b72de3b39 (patch) | |
tree | 6f495af6d3b7e0e5650061e42581b6530572da0b /io.c | |
parent | 76b247202a19a56a0ba24639912ef2a0744371b3 (diff) | |
download | ruby-a4c82312c356b2bfa33d2c11c7badc0b72de3b39.tar.gz |
* io.c (io_encoding_set): handle nil for v1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -5627,12 +5627,17 @@ io_encoding_set(rb_io_t *fptr, int argc, VALUE v1, VALUE v2) fptr->enc = rb_to_encoding(v2); } else if (argc == 1) { - VALUE tmp = rb_check_string_type(v1); - if (!NIL_P(tmp)) { - mode_enc(fptr, StringValueCStr(tmp)); + if if (NIL_P(v1)) { + fptr->enc = 0; } else { - fptr->enc = rb_to_encoding(v1); + VALUE tmp = rb_check_string_type(v1); + if (!NIL_P(tmp)) { + mode_enc(fptr, StringValueCStr(tmp)); + } + else { + fptr->enc = rb_to_encoding(v1); + } } } } |