diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | encoding.c | 2 |
2 files changed, 7 insertions, 1 deletions
@@ -1,3 +1,9 @@ +Mon Feb 2 06:51:36 2009 NAKAMURA Usaku <usa@ruby-lang.org> + + * encoding.c (rb_filesystem_encoding): Windows' filesystem encoding is + sometimes ANSI code page and sometimes OEM code page. we should check + whether code page is used. + Sun Feb 1 21:27:55 2009 Tanaka Akira <akr@fsij.org> * ext/socket/raddrinfo.c (addrinfo_ipv4_private_p): new method. diff --git a/encoding.c b/encoding.c index 337942bf74..4afee36ff3 100644 --- a/encoding.c +++ b/encoding.c @@ -1034,7 +1034,7 @@ rb_filesystem_encoding(void) enc = rb_default_external_encoding(); #elif defined _WIN32 || defined __CYGWIN__ char cp[sizeof(int) * 8 / 3 + 4]; - snprintf(cp, sizeof cp, "CP%d", GetOEMCP()); + snprintf(cp, sizeof cp, "CP%d", AreFileApisANSI() ? GetACP() : GetOEMCP()); enc = rb_enc_find(cp); #elif defined __APPLE__ enc = rb_enc_find("UTF8-MAC"); |