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

ruby-changes:14029

From: usa <ko1@a...>
Date: Wed, 18 Nov 2009 15:28:34 +0900 (JST)
Subject: [ruby-changes:14029] Ruby:r25840 (trunk): * file.c (file_path_convert): delay getting filesystem encoding

usa	2009-11-18 15:28:19 +0900 (Wed, 18 Nov 2009)

  New Revision: 25840

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

  Log:
    * file.c (file_path_convert): delay getting filesystem encoding
      while really needed.

  Modified files:
    trunk/ChangeLog
    trunk/file.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 25839)
+++ ChangeLog	(revision 25840)
@@ -1,3 +1,8 @@
+Wed Nov 18 15:27:20 2009  NAKAMURA Usaku  <usa@r...>
+
+	* file.c (file_path_convert): delay getting filesystem encoding
+	  while really needed.
+
 Wed Nov 18 12:33:42 2009  NARUSE, Yui  <naruse@r...>
 
 	* encoding.c (enc_set_default_encoding): reset filesytem
Index: file.c
===================================================================
--- file.c	(revision 25839)
+++ file.c	(revision 25840)
@@ -107,7 +107,7 @@
 file_path_convert(VALUE name)
 {
     rb_encoding *fname_encoding = rb_enc_from_index(ENCODING_GET(name));
-    rb_encoding *fs_encoding = rb_filesystem_encoding();
+    rb_encoding *fs_encoding;
 #ifdef __APPLE__
     static rb_encoding *utf8mac_encoding;
     if (!utf8mac_encoding)
@@ -116,14 +116,14 @@
 	    && rb_ascii8bit_encoding() != fname_encoding
 	    && rb_utf8_encoding() != fname_encoding
 	    && utf8mac_encoding != fname_encoding
-	    && fs_encoding != fname_encoding) {
+	    && (fs_encoding = rb_filesystem_encoding()) != fname_encoding) {
 	name = rb_str_conv_enc(name, fname_encoding, fs_encoding);
     }
 #elif !defined(_WIN32)
     if (rb_default_internal_encoding() != NULL
 	    && rb_usascii_encoding() != fname_encoding
 	    && rb_ascii8bit_encoding() != fname_encoding
-	    && fs_encoding != fname_encoding) {
+	    && (fs_encoding = rb_filesystem_encoding()) != fname_encoding) {
 	name = rb_str_conv_enc(name, fname_encoding, fs_encoding);
     }
 #endif

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

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