diff --git a/ChangeLog b/ChangeLog index 7e8e4aa381..2997cbca62 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sun Aug 24 13:27:42 2008 Tanaka Akira + + * transcode.c (str_transcode): check last hash only if 0 < argc. + Sun Aug 24 12:22:15 2008 Tanaka Akira * include/ruby/encoding.h (rb_econv_substr_append): renamed from diff --git a/transcode.c b/transcode.c index 1ba30c8256..c087716b43 100644 --- a/transcode.c +++ b/transcode.c @@ -1687,7 +1687,10 @@ str_transcode(int argc, VALUE *argv, VALUE *self) VALUE opt; int options = 0; - opt = rb_check_convert_type(argv[argc-1], T_HASH, "Hash", "to_hash"); + if (0 < argc) + opt = rb_check_convert_type(argv[argc-1], T_HASH, "Hash", "to_hash"); + else + opt = Qnil; if (!NIL_P(opt)) { VALUE v;