diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | encoding.c | 4 |
2 files changed, 10 insertions, 2 deletions
@@ -1,3 +1,11 @@ +Mon Jan 5 17:38:40 2009 NAKAMURA Usaku <usa@ruby-lang.org> + + * encoding.c (rb_locale_charmap): use GetConsoleCP() instead of + GetACP() because external encoding should be console's one. + + * encoding.c (rb_filesystem_encoding): use GetOEMCP() instead of + GetACP() because VFAT/FAT32 uses OEM CP. + Mon Jan 5 16:26:48 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> * encoding.c (rb_filesystem_encoding): use ANSI codepage for file diff --git a/encoding.c b/encoding.c index fde7103609..f0411d16ee 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", GetACP()); + snprintf(cp, sizeof cp, "CP%d", GetOEMCP()); enc = rb_enc_find(cp); #elif defined __APPLE__ enc = rb_enc_find("UTF8-MAC"); @@ -1218,7 +1218,7 @@ rb_locale_charmap(VALUE klass) codeset = nl_langinfo(CODESET); return rb_usascii_str_new2(codeset); #elif defined _WIN32 - return rb_sprintf("CP%d", GetACP()); + return rb_sprintf("CP%d", GetConsoleCP()); #else return Qnil; #endif |