diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-21 04:09:45 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-21 04:09:45 +0000 |
commit | 8c68d9a15286e6bc0e76e1da1de433a4962b1cba (patch) | |
tree | fe20100056ba637a0d05c920b8411e0a24d2958e | |
parent | 5a717c35eac92094910985699ba11ff126983782 (diff) | |
download | ruby-8c68d9a15286e6bc0e76e1da1de433a4962b1cba.tar.gz |
* encoding.c (rb_locale_charmap): return nil if no locale information.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | encoding.c | 2 | ||||
-rw-r--r-- | ruby.c | 5 |
3 files changed, 9 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Fri Dec 21 13:09:11 2007 Tanaka Akira <akr@fsij.org> + + * encoding.c (rb_locale_charmap): return nil if no locale information. + Fri Dec 21 12:55:39 2007 Tanaka Akira <akr@fsij.org> * lib/runit, lib/rubyunit.rb, test/testunit/runit: removed. diff --git a/encoding.c b/encoding.c index 07c9b42e9d..1af3c4422c 100644 --- a/encoding.c +++ b/encoding.c @@ -714,7 +714,7 @@ rb_locale_charmap(VALUE klass) codeset = nl_langinfo(CODESET); return rb_str_new2(codeset); #else - return rb_str_new2("ASCII-8BIT"); + return Qnil; #endif } @@ -139,9 +139,12 @@ static rb_encoding * locale_encoding(void) { VALUE codeset = rb_locale_charmap(Qnil); - char *name = StringValueCStr(codeset); + char *name; int idx; + if (codeset == Qnil) + return rb_default_encoding(); + idx = rb_enc_find_index(name); if (idx < 0) return rb_default_encoding(); |