diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-11-22 05:25:15 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-11-22 05:25:15 +0000 |
commit | 33356ff75b3c33f85aa21707e2e23bcba0fe7c17 (patch) | |
tree | ceaad205d8f62460a2ad1037e6ee6a047bc2c47b | |
parent | 3002e5e1f9767e914ccd3e1fcfd96b38b1fd438f (diff) | |
download | ruby-33356ff75b3c33f85aa21707e2e23bcba0fe7c17.tar.gz |
* time.c (time_zone): use rb_locale_str_new_cstr to set encoding
as locale and convert its content to internal encoding.
[ruby-core:33278]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | test/ruby/test_time.rb | 2 | ||||
-rw-r--r-- | time.c | 4 |
3 files changed, 10 insertions, 2 deletions
@@ -1,3 +1,9 @@ +Mon Nov 22 14:22:45 2010 NARUSE, Yui <naruse@ruby-lang.org> + + * time.c (time_zone): use rb_locale_str_new_cstr to set encoding + as locale and convert its content to internal encoding. + [ruby-core:33278] + Mon Nov 22 11:58:11 2010 NARUSE, Yui <naruse@ruby-lang.org> * string.c (rb_str_concat): set ENC_CODERANGE_VALID when the diff --git a/test/ruby/test_time.rb b/test/ruby/test_time.rb index 95d36c597f..83f5907f99 100644 --- a/test/ruby/test_time.rb +++ b/test/ruby/test_time.rb @@ -465,6 +465,7 @@ class TestTime < Test::Unit::TestCase assert_equal(1, T2000.yday) assert_equal(false, T2000.isdst) assert_equal("UTC", T2000.zone) + assert_equal(Encoding.find("locale"), T2000.zone.encoding) assert_equal(0, T2000.gmt_offset) assert(!T2000.sunday?) assert(!T2000.monday?) @@ -486,6 +487,7 @@ class TestTime < Test::Unit::TestCase assert_equal(t.yday, Time.at(946684800).yday) assert_equal(t.isdst, Time.at(946684800).isdst) assert_equal(t.zone, Time.at(946684800).zone) + assert_equal(Encoding.find("locale"), Time.at(946684800).zone.encoding) assert_equal(t.gmt_offset, Time.at(946684800).gmt_offset) assert_equal(t.sunday?, Time.at(946684800).sunday?) assert_equal(t.monday?, Time.at(946684800).monday?) @@ -4189,11 +4189,11 @@ time_zone(VALUE time) MAKE_TM(time, tobj); if (TIME_UTC_P(tobj)) { - return rb_str_new2("UTC"); + return rb_obj_untaint(rb_locale_str_new_cstr("UTC")); } if (tobj->vtm.zone == NULL) return Qnil; - return rb_str_new2(tobj->vtm.zone); + return rb_obj_untaint(rb_locale_str_new_cstr(tobj->vtm.zone)); } /* |