aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--win32/win32.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 3bc6fd79a3..7f0acfcc64 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Fri Apr 2 11:54:49 2010 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/win32.c (init_env): wrong calculation of the head of setenv
+ string. [ruby-core:29216]
+ a patch from Heesob Park in [ruby-core:29218]
+
Fri Apr 2 08:24:56 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* process.c (ruby_setsid): split from proc_setsid.
diff --git a/win32/win32.c b/win32/win32.c
index 800f0debe4..42fbdb591b 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -456,7 +456,7 @@ init_env(void)
#define env wk.val
#define set_env_val(vname) do { \
typedef char namesizecheck[numberof(wk.name) < numberof(vname) - 1 ? -1 : 1]; \
- WCHAR *const buf = wk.name + numberof(wk.name) - numberof(vname); \
+ WCHAR *const buf = wk.name + numberof(wk.name) - numberof(vname) + 1; \
MEMCPY(buf, vname, WCHAR, numberof(vname) - 1); \
_wputenv(buf); \
} while (0)