From 4bef732db14d0adc56514462cc4eaeeb6ff56ea4 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 30 Jun 2009 23:46:20 +0000 Subject: [PATCH] * marshal.c (w_encoding): encodings need extra depth. [ruby-core:24100] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ marshal.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 108e4465cc..10685567cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Jul 1 08:46:11 2009 Nobuyoshi Nakada + + * marshal.c (w_encoding): encodings need extra depth. + [ruby-core:24100] + Wed Jul 1 06:47:09 2009 Nobuyoshi Nakada * enum.c (enum_grep): gets rid of type-punning calls. diff --git a/marshal.c b/marshal.c index d67168db97..0c44eba609 100644 --- a/marshal.c +++ b/marshal.c @@ -493,12 +493,12 @@ w_encoding(VALUE obj, long num, struct dump_call_arg *arg) /* special treatment for US-ASCII and UTF-8 */ if (encidx == rb_usascii_encindex()) { w_symbol(rb_intern("E"), arg->arg); - w_object(Qfalse, arg->arg, arg->limit); + w_object(Qfalse, arg->arg, arg->limit + 1); return; } else if (encidx == rb_utf8_encindex()) { w_symbol(rb_intern("E"), arg->arg); - w_object(Qtrue, arg->arg, arg->limit); + w_object(Qtrue, arg->arg, arg->limit + 1); return; } @@ -511,7 +511,7 @@ w_encoding(VALUE obj, long num, struct dump_call_arg *arg) name = (st_data_t)rb_str_new2(rb_enc_name(enc)); st_insert(arg->arg->encodings, (st_data_t)rb_enc_name(enc), name); } while (0); - w_object(name, arg->arg, arg->limit); + w_object(name, arg->arg, arg->limit + 1); } static void