[#23884] Ruby 1.8.2 preview1にむけて — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

34 messages 2004/07/13
[#23917] Re: Ruby 1.8.2 preview1にむけて — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/07/16

山本です。

[#23920] Re: Ruby 1.8.2 preview1にむけて — "NAKAMURA, Hiroshi" <nakahiro@...> 2004/07/16

なひです。

[#23922] ruby 1.8.2 preview1 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

27 messages 2004/07/16

[#23995] String#each -> String#each_char — Shugo Maeda <shugo@...>

前田です。

27 messages 2004/07/30
[#23996] Re: String#each -> String#each_char — matz@... (Yukihiro Matsumoto) 2004/07/30

まつもと ゆきひろです

[#23997] Re: String#each -> String#each_char — "U.Nakamura" <usa@...> 2004/07/30

こんにちは、なかむら(う)です。

[#23999] Re: String#each -> String#each_char — matz@... (Yukihiro Matsumoto) 2004/07/30

まつもと ゆきひろです

[#24000] Re: String#each -> String#each_char — "U.Nakamura" <usa@...> 2004/07/30

こんにちは、なかむら(う)です。

[#24005] Re: String#each -> String#each_char — Minero Aoki <aamine@...> 2004/07/31

青木です。

[#24012] Re: String#each -> String#each_char — Shugo Maeda <shugo@...> 2004/08/01

前田です。

[#24014] Re: String#each -> String#each_char — Minero Aoki <aamine@...> 2004/08/02

青木です。

[ruby-dev:23940] Re: Ruby 1.8.2preview1にむけて

From: "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Date: 2004-07-18 03:27:46 UTC
List: ruby-dev #23940
山本です。

>--- lib/webrick/httpservlet/cgihandler.rb	7 Mar 2004 16:06:43 -0000	1.3
>+++ lib/webrick/httpservlet/cgihandler.rb	17 Jul 2004 20:41:14 -0000
>@@ -43,2 +43,5 @@       def do_GET(req, res)
>           meta["PATH"] = @config[:CGIPathEnv]
>+          if /mswin|bccwin|mingw/ =~ RUBY_PLATFORM
>+            meta["SystemRoot"] = ENV["SystemRoot"]
>+          end
>           dump = Marshal.dump(meta)

実は、SystemRoot は WinNT 系列の環境変数なので、Win9x 系列では別の環境変数が
必要かもしれません。(そもそも遅くならないかもしれませんが・・・)

また、SystemRoot が必要というのは、しらみつぶしで見つけたもので、ドキュメントから見つけた
ものではありません。もしかすると、WinNT4, WinXP ではまた挙動が異なる可能性もあります。

あと、[ruby-dev:21655] を読むと、Linux でも同じ問題が起きている気がするので、
そちらも対処が必要かもしれません。

確実に動作させる点からは、

  hash { "HOGE" => nil }

  hash.each do |k, v|
    if v
      ENV[k] = v
    else
      ENV.delete(k)
    end
  end

というように、元の環境変数を残したほうが良さそうに感じるのですが、
そうすると不要な環境変数をCGIに渡すことになるので、セキュリティ上
良くないような気もしました。(すみません、よくわかりません)


In This Thread