From 197cc2b66338f0b2b215c58a5f4ad7edea8332df Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 10 Jan 2008 06:42:49 +0000 Subject: * io.c (io_encoding_set): handle nil for v1. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- io.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'io.c') diff --git a/io.c b/io.c index 2fc199d86..4b499bc6e 100644 --- a/io.c +++ b/io.c @@ -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); + } } } } -- cgit