[前][次][番号順一覧][スレッド一覧]

ruby-changes:9799

From: nobu <ko1@a...>
Date: Mon, 5 Jan 2009 16:27:06 +0900 (JST)
Subject: [ruby-changes:9799] Ruby:r21340 (trunk): * encoding.c (rb_filesystem_encoding): use ANSI codepage for file

nobu	2009-01-05 16:26:51 +0900 (Mon, 05 Jan 2009)

  New Revision: 21340

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=21340

  Log:
    * encoding.c (rb_filesystem_encoding): use ANSI codepage for file
      system on cygwin.
    * encoding.c (rb_locale_charmap): reverted.  [ruby-core:21110]

  Modified files:
    trunk/ChangeLog
    trunk/encoding.c

Index: encoding.c
===================================================================
--- encoding.c	(revision 21339)
+++ encoding.c	(revision 21340)
@@ -14,18 +14,15 @@
 #include "regenc.h"
 #include <ctype.h>
 #ifndef NO_LOCALE_CHARMAP
-#if defined __CYGWIN__
+#ifdef __CYGWIN__
 #include <windows.h>
-#elif defined HAVE_LANGINFO_H
+#endif
+#ifdef HAVE_LANGINFO_H
 #include <langinfo.h>
 #endif
 #endif
 #include "ruby/util.h"
 
-#if defined _WIN32 || defined __CYGWIN__
-#define USE_CODEPAGE_LOCALE 1
-#endif
-
 static ID id_encoding;
 VALUE rb_cEncoding;
 static VALUE rb_encoding_list;
@@ -1033,8 +1030,12 @@
 rb_filesystem_encoding(void)
 {
     rb_encoding *enc;
-#if defined USE_CODEPAGE_LOCALE
-    enc = rb_locale_encoding();
+#if defined NO_LOCALE_CHARMAP
+    enc = rb_default_external_encoding();
+#elif defined _WIN32 || defined __CYGWIN__
+    char cp[sizeof(int) * 8 / 3 + 4];
+    snprintf(cp, sizeof cp, "CP%d", GetACP());
+    enc = rb_enc_find(cp);
 #elif defined __APPLE__
     enc = rb_enc_find("UTF8-MAC");
 #else
@@ -1212,12 +1213,12 @@
 {
 #if defined NO_LOCALE_CHARMAP
     return rb_usascii_str_new2("ASCII-8BIT");
-#elif defined USE_CODEPAGE_LOCALE
-    return rb_sprintf("CP%d", GetACP());
 #elif defined HAVE_LANGINFO_H
     char *codeset;
     codeset = nl_langinfo(CODESET);
     return rb_usascii_str_new2(codeset);
+#elif defined _WIN32
+    return rb_sprintf("CP%d", GetACP());
 #else
     return Qnil;
 #endif
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 21339)
+++ ChangeLog	(revision 21340)
@@ -1,3 +1,10 @@
+Mon Jan  5 16:26:48 2009  Nobuyoshi Nakada  <nobu@r...>
+
+	* encoding.c (rb_filesystem_encoding): use ANSI codepage for file
+	  system on cygwin.
+
+	* encoding.c (rb_locale_charmap): reverted.  [ruby-core:21110]
+
 Mon Jan  5 16:15:00 2009  Kazuhiro NISHIYAMA  <zn@m...>
 
 	* ext/curses/curses.c (free_window): use xfree instead of free.

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]