summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sprintf.c2
2 files changed, 6 insertions, 1 deletions
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 <matz@ruby-lang.org>
+
+ * 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 <nobu@ruby-lang.org>
* 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;
}