From 1f41dff07506f4794e8efbfe97242a87198cb2ec Mon Sep 17 00:00:00 2001 From: eban Date: Tue, 30 Jul 2002 06:36:30 +0000 Subject: [PATCH] * ext/tcltklib/stubs.c (ruby_tcltk_stubs): win32_getenv returns the same address always, so allocate string by ruby_strdup. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ ext/tcltklib/stubs.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/ChangeLog b/ChangeLog index bc31e04738..25192480ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Jul 30 15:24:07 2002 WATANABE Hirofumi + + * ext/tcltklib/stubs.c (ruby_tcltk_stubs): win32_getenv returns + the same address always, so allocate string by ruby_strdup. + Fri Jul 12 00:51:09 2002 Nobuyoshi Nakada * eval.c (rb_eval): fixed line number in string interpolation. diff --git a/ext/tcltklib/stubs.c b/ext/tcltklib/stubs.c index 69a5d6d3c0..0c9e9872d7 100644 --- a/ext/tcltklib/stubs.c +++ b/ext/tcltklib/stubs.c @@ -40,10 +40,16 @@ ruby_tcltk_stubs() char tk_name[20]; ruby_tcl_dll = getenv("RUBY_TCL_DLL"); +#if defined NT + if (ruby_tcl_dll) ruby_tcl_dll = ruby_strdup(ruby_tcl_dll); +#endif ruby_tk_dll = getenv("RUBY_TK_DLL"); if (ruby_tcl_dll && ruby_tk_dll) { tcl_dll = (DL_HANDLE)DL_OPEN(ruby_tcl_dll); tk_dll = (DL_HANDLE)DL_OPEN(ruby_tk_dll); +#if defined NT + ruby_xfree(ruby_tcl_dll); +#endif } else { snprintf(tcl_name, sizeof tcl_name, TCL_NAME, DLEXT); snprintf(tk_name, sizeof tk_name, TK_NAME, DLEXT);