From: Wakou Aoyama Date: 1998-07-09T08:47:07+09:00 Subject: [ruby-dev:3240] Re: experimental release 1.1b9_29 青山です。 トリガーが不明なのですが、io.c の変更で、状況により動作がかわるという 症状が発生しています。 NIFTY へのアクセスに使っている nif.rb ですが、次のようにして外部ファイ ルを読み込む部分があります。 pad = open(pad_file) while line = pad.gets # end pad.close これが while ループを抜けなくなりました。仕様の変更かと思い、次のよう にしたところOKでした。 while not pad.eof? line = pad.gets # end ところが、ローカルで試してみると以前のタイプのままでも動き、また、考え てみると一々このように書くのも不便そうなので、バグっぽいなと。 次の部分を 1.1b9_28 に戻すと直ります。 --- io.c.org Thu Jul 9 08:28:21 1998 +++ io.c Thu Jul 9 08:28:59 1998 @@ -602,10 +602,7 @@ TRAP_BEG; c = getc(f); TRAP_END; - if (c == EOF) { - if (errno == EINTR) continue; - break; - } + if (c == EOF) break; if ((*bp++ = c) == '\n') break; if (bp == bpe) break; } ---------------------------------------------------------------------- ついでに。cgi-lib.rb ですが、$ test.rb > test.html なんていう時にオフ ラインモードのメッセージが出ないのはちょっと不便だと思いますが、いかが でしょうか? --- cgi-lib.rb.org Thu Jul 9 08:39:10 1998 +++ cgi-lib.rb Thu Jul 9 08:39:22 1998 @@ -25,7 +25,7 @@ words = Shellwords.shellwords(if not ARGV.empty? then ARGV.join(' ') else - STDERR.print "(offline mode: enter name=value pairs on standard input)\n" if STDOUT.tty? + STDERR.print "(offline mode: enter name=value pairs on standard input)\n" readlines.join(' ').gsub(/\n/, '') end.gsub(/\\=/, '%3D').gsub(/\\&/, '%26')) もう一つついでに。lib の中の telnet.rb が古いままのようです。 青山 和光 Wakou Aoyama