aboutsummaryrefslogtreecommitdiffstats
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
commit8c68d9a15286e6bc0e76e1da1de433a4962b1cba (patch)
treefe20100056ba637a0d05c920b8411e0a24d2958e
parent5a717c35eac92094910985699ba11ff126983782 (diff)
downloadruby-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--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 d6fbe0fee4..6a67299a17 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 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
}
diff --git a/ruby.c b/ruby.c
index f16ed424c8..525a3cdb19 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();