From 3d8aa0139e4e26bee03889cc93debd8432e5d27b Mon Sep 17 00:00:00 2001 From: akr Date: Fri, 21 Dec 2007 04:09:45 +0000 Subject: * 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 --- ChangeLog | 4 ++++ encoding.c | 2 +- ruby.c | 5 ++++- 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 + + * encoding.c (rb_locale_charmap): return nil if no locale information. + Fri Dec 21 12:55:39 2007 Tanaka Akira * 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(); -- cgit