diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-14 12:11:14 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-14 12:11:14 +0000 |
commit | d46728ec0e134c47a9cf7b1f63d5a0c88902162e (patch) | |
tree | 227bb93e09714ead52d5b90e782eb7155583a94e | |
parent | db30661aa9635d665c8d39592fb18bfb89331410 (diff) |
* 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
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | dir.c | 4 | ||||
-rw-r--r-- | encoding.c | 10 |
3 files changed, 12 insertions, 9 deletions
@@ -1,3 +1,10 @@ +Thu Aug 14 21:10:00 2008 Tanaka Akira <akr@fsij.org> + + * 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 <akr@fsij.org> * transcode.c (rb_econv_open_by_transcoder_entries): renamed from @@ -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; } |