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

ruby-changes:17373

From: usa <ko1@a...>
Date: Thu, 30 Sep 2010 16:12:55 +0900 (JST)
Subject: [ruby-changes:17373] Ruby:r29378 (trunk): * win32/win32.c (rb_w32_getenv): should return NULL if specified name

usa	2010-09-30 16:12:49 +0900 (Thu, 30 Sep 2010)

  New Revision: 29378

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

  Log:
    * win32/win32.c (rb_w32_getenv): should return NULL if specified name
      is empty. a patch from Heesob Park at [ruby-core:32650]

  Modified files:
    trunk/ChangeLog
    trunk/test/ruby/test_env.rb
    trunk/win32/win32.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 29377)
+++ ChangeLog	(revision 29378)
@@ -1,3 +1,8 @@
+Thu Sep 30 16:11:08 2010  NAKAMURA Usaku  <usa@r...>
+
+	* win32/win32.c (rb_w32_getenv): should return NULL if specified name
+	  is empty. a patch from Heesob Park at [ruby-core:32650]
+
 Thu Sep 30 10:55:38 2010  NAKAMURA Usaku  <usa@r...>
 
 	* hash.c (ruby_setenv): workaround for old Windows. a patch from
Index: win32/win32.c
===================================================================
--- win32/win32.c	(revision 29377)
+++ win32/win32.c	(revision 29378)
@@ -3900,8 +3900,8 @@
     int len = strlen(name);
     char *env;
 
-    if (envarea)
-	FreeEnvironmentStrings(envarea);
+    if (len == 0) return NULL;
+    if (envarea) FreeEnvironmentStrings(envarea);
     envarea = GetEnvironmentStrings();
     if (!envarea) {
 	map_errno(GetLastError());
Index: test/ruby/test_env.rb
===================================================================
--- test/ruby/test_env.rb	(revision 29377)
+++ test/ruby/test_env.rb	(revision 29378)
@@ -96,6 +96,7 @@
     assert_raise(ArgumentError) { ENV["foo\0bar"] }
     ENV[PATH_ENV] = ""
     assert_equal("", ENV[PATH_ENV])
+    assert_nil(ENV[""])
   end
 
   def test_fetch

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

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