From 85bcd2587794dbe653523847bc01cab4948be2d4 Mon Sep 17 00:00:00 2001 From: usa Date: Thu, 30 Sep 2010 01:57:17 +0000 Subject: [PATCH] * hash.c (ruby_setenv): workaround for old Windows. a patch from Heesob Park. [ruby-core:32353] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ hash.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index aa89caf350..80194ce195 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Sep 30 10:55:38 2010 NAKAMURA Usaku + + * hash.c (ruby_setenv): workaround for old Windows. a patch from + Heesob Park. [ruby-core:32353] + Thu Sep 30 09:29:06 2010 NARUSE, Yui * lib/uri/common.rb (URI.encode_www_form): change treatment of diff --git a/hash.c b/hash.c index 73f90125f9..3e1731d5a3 100644 --- a/hash.c +++ b/hash.c @@ -2158,7 +2158,8 @@ ruby_setenv(const char *name, const char *value) rb_str_resize(buf, 0); if (!value || !*value) { /* putenv() doesn't handle empty value */ - if (!SetEnvironmentVariable(name,value)) goto fail; + if (!SetEnvironmentVariable(name, value) && + GetLastError() != ERROR_ENVVAR_NOT_FOUND) goto fail; } if (failed) goto fail; #elif defined(HAVE_SETENV) && defined(HAVE_UNSETENV)