From: zunda Date: 2003-10-31T19:04:05+09:00 Subject: [ruby-list:38710] Re: ruby-1.8.1 で enctype のときの cgi.params zundaと申します --- Yukihiro Matsumoto からのメッセージ: > まつもと ゆきひろです > > In message "[ruby-list:38706] ruby-1.8.1でenctypeのときのcgi.params" > on 03/10/31, Takashi Kanai writes: > > |ruby-1.8.1でのcgi.rbについての報告です。 > |FORMでenctype="multipart/form-data" を付けたとき、cgi.paramsの値 > |がおかしいです。下のテストプログラムを動かすと、3つの値が表示さ > |れなければならないはずが1つしか表示されません。どうも、最初の1 > |つだけを返しているような気がします。 > > 再現しません。きちんとインストールせず -I オプションでロード > パスを指定したのがまずいのかな。どなたか確認していただけませ > んか? Fri Oct 31 18:55:30 JST 2003 頃にcvs updateしたRuby ruby 1.8.1 (2003-10-31) [i686-linux] で金井さんのメールと同じ症状が確認できました。 手元では、下記の変更で3つの値が表示されるようになりました。 Index: lib/cgi.rb =================================================================== RCS file: /ruby/ruby/lib/cgi.rb,v retrieving revision 1.63 diff -u -r1.63 cgi.rb --- lib/cgi.rb 29 Oct 2003 17:47:21 -0000 1.63 +++ lib/cgi.rb 31 Oct 2003 09:59:16 -0000 @@ -1027,7 +1027,7 @@ buf = buf.sub(/\A((?:.|\n)*?)(?:#{EOL})?#{boundary}(#{EOL}|--)/n) do body.print $1 - if "--" == $2 or EOL == $2 + if "--" == $2 content_length = -1 end "" 以上、ご報告まで。 __________________________________________________ Do You Yahoo!? Yahoo! BB is Broadband by Yahoo! http://bb.yahoo.co.jp/