summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-21 04:09:45 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-21 04:09:45 +0000
commit3d8aa0139e4e26bee03889cc93debd8432e5d27b (patch)
treefe20100056ba637a0d05c920b8411e0a24d2958e
parentd92031df5f8a6f29e7973e50231c13770e7dbc55 (diff)
downloadruby-3d8aa0139e4e26bee03889cc93debd8432e5d27b.tar.gz
ruby-3d8aa0139e4e26bee03889cc93debd8432e5d27b.tar.xz
ruby-3d8aa0139e4e26bee03889cc93debd8432e5d27b.zip
* encoding.c (rb_locale_charmap): return nil if no locale information.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--encoding.c2
-rw-r--r--ruby.c5
3 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index d6fbe0fee..6a67299a1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 07c9b42e9..1af3c4422 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
}
diff --git a/ruby.c b/ruby.c
index f16ed424c..525a3cdb1 100644
--- a/ruby.c
+++ b/ruby.c
@@ -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();