aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--time.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index a3c2fae6c8..382c39dae2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Wed Jan 23 15:25:04 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * time.c (time_strftime): copy encoding from format. [ruby-dev:33303]
+
Wed Jan 23 15:04:11 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* string.c (str_make_independent): should set length.
diff --git a/time.c b/time.c
index 29e50bc1eb..59d36088a3 100644
--- a/time.c
+++ b/time.c
@@ -2065,6 +2065,7 @@ rb_strftime(char **buf, const char *format, struct tm *time)
static VALUE
time_strftime(VALUE time, VALUE format)
{
+ void rb_enc_copy(VALUE, VALUE);
struct time_object *tobj;
char buffer[SMALLBUF], *buf = buffer;
const char *fmt;
@@ -2105,6 +2106,7 @@ time_strftime(VALUE time, VALUE format)
}
str = rb_str_new(buf, len);
if (buf != buffer) free(buf);
+ rb_enc_copy(str, format);
return str;
}