From: "助田 雅紀" Date: 1998-01-12T08:40:58+09:00 Subject: [ruby-dev:1274] Re: setenv 助田です。 In [ruby-dev:1231] Re: setenv >まつもと ゆきひろです >手元にあったPerlのソースからmissing/setenv.cを変更してみまし >た.バージョンは5.004_03でしたが.こんなんでどうでしょう? ruby 1.1b4 が 出る前に確認できれば良かったんですが、間に合いません でした。ごめんなさい。 ruby 1.1b4の missing/setenv.c で試しましたが、 SetEnvironmentVariableを使う方法だと、以下のスクリプトの出力結果 が、nil になります。 ENV["abc"] = "def" puts ENV["abc"] #GetEnvironmentVariable を対応させて使うようにすれば #大丈夫かも知れませんが、試していません。 putenv を使う方法で動作したのでパッチをつけます。 USE_WIN32_RTL_ENV は、他では使われていないようだったので 強引に define してます。 以下 ruby-1.1b4(98/01/09) missing/setenv.cへのパッチです。 --- setenv.c Wed Jan 07 13:53:57 1998 +++ setenv.c.new Sat Jan 10 16:25:13 1998 @@ -18,2 +18,3 @@ +#define USE_WIN32_RTL_ENV #ifdef USE_WIN32_RTL_ENV @@ -92,4 +93,4 @@ register char *envstr; - STRLEN namlen = strlen(nam); - STRLEN vallen; + int namelen = strlen(nam); + int vallen; char *oldstr = environ[envix(nam)]; 助田雅紀(masaki.suketa@tonen.co.jp)