From: Wakou Aoyama Date: 2000-06-13T07:25:30+09:00 Subject: [ruby-dev:10014] Re: cgi.rb read_multipart 青山です。 On Mon, 12 Jun 2000 09:01:52 +0900, matz@netlab.co.jp (Yukihiro Matsumoto) wrote: > cgi.rbのread_multipart中でreadの戻り値に直接sizeを渡している > ところがあります。が、readはnilを返すことがあるので、ちゃん > とチェックした方がよろしいのではないかと思います。いかがでしょ > う? そうですね。read を使っていて nil を考慮していないのは、ちょうどここだ けのようでした。ただ、すでに mod_ruby の件で書いたように、ここで nil が返ってくるのは異常ですから、チェックを入れるにしても、そのまま実行を 続けるわけにはいきませんから、結局は別の例外で止める事にはなりますが。 こんな感じの例外で止めましょうか。 $ ruby -e'raise EOFError, "no content body"' -e:1: no content body (EOFError) status = stdinput.read((boundary + EOL).size) if nil == status raise EOFError, "no content body" end もう少し親切なメッセージが欲しい気もしますが、まあ、今回のように mod_ruby の問題にでもぶつからない限りは、おそらく見る事は無いでしょう。 -- 青山 和光 Wakou Aoyama