From d46728ec0e134c47a9cf7b1f63d5a0c88902162e Mon Sep 17 00:00:00 2001 From: akr Date: Thu, 14 Aug 2008 12:11:14 +0000 Subject: * encoding.c (rb_filesystem_encoding): use default external encoding for Unix. * dir.c (dir_initialize): don't cache fs_encoding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ dir.c | 4 +--- encoding.c | 10 ++++------ 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 50735d36d8..f2d20969ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Thu Aug 14 21:10:00 2008 Tanaka Akira + + * encoding.c (rb_filesystem_encoding): use default external encoding + for Unix. + + * dir.c (dir_initialize): don't cache fs_encoding. + Thu Aug 14 20:58:57 2008 Tanaka Akira * transcode.c (rb_econv_open_by_transcoder_entries): renamed from diff --git a/dir.c b/dir.c index a3eed26c75..ea13490b21 100644 --- a/dir.c +++ b/dir.c @@ -333,17 +333,15 @@ static VALUE dir_initialize(int argc, VALUE *argv, VALUE dir) { struct dir_data *dp; - static rb_encoding *fs_encoding; rb_encoding *extencoding; VALUE dirname, opt; static VALUE sym_extenc; if (!sym_extenc) { sym_extenc = ID2SYM(rb_intern("external_encoding")); - fs_encoding = rb_filesystem_encoding(); } + extencoding = rb_filesystem_encoding(); - extencoding = fs_encoding; rb_scan_args(argc, argv, "11", &dirname, &opt); if (!NIL_P(opt)) { diff --git a/encoding.c b/encoding.c index d1cf17510d..ca08416fe6 100644 --- a/encoding.c +++ b/encoding.c @@ -962,16 +962,14 @@ rb_locale_encoding(void) rb_encoding * rb_filesystem_encoding(void) { - static rb_encoding *enc; - if (!enc) { + rb_encoding *enc; #if defined _WIN32 - enc = rb_locale_encoding(); + enc = rb_locale_encoding(); #elif defined __APPLE__ - enc = rb_enc_find("UTF8-MAC"); + enc = rb_enc_find("UTF8-MAC"); #else - enc = rb_locale_encoding(); + enc = rb_default_external_encoding(); #endif - } return enc; } -- cgit v1.2.3