diff --git a/ChangeLog b/ChangeLog index 7965d343cd..ae38b28900 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Dec 18 01:46:48 2007 Yukihiro Matsumoto + + * sprintf.c (rb_str_format): need to clear output buffer to avoid + broken encoding compatibility check. + Tue Dec 18 01:40:20 2007 Nobuyoshi Nakada * lib/mkmf.rb (depend_rules): inserts ruby to only headers. diff --git a/sprintf.c b/sprintf.c index f005ad6af4..b59e3d1401 100644 --- a/sprintf.c +++ b/sprintf.c @@ -298,6 +298,7 @@ rb_str_format(int argc, const VALUE *argv, VALUE fmt) result = rb_str_buf_new(bsiz); rb_enc_copy(result, fmt); buf = RSTRING_PTR(result); + memset(buf, 0, bsiz); for (; p < end; p++) { const char *t; @@ -850,7 +851,6 @@ rb_str_format(int argc, const VALUE *argv, VALUE fmt) rb_str_resize(result, blen); if (tainted) OBJ_TAINT(result); - rb_enc_associate(result, enc); return result; }