From: "U.Nakamura" Date: 2003-01-10T14:41:21+09:00 Subject: [ruby-dev:19350] Re: [BUG] errno == 0 こんにちは、なかむら(う)です。 In message "[ruby-dev:19349] Re: [BUG] errno == 0" on Jan.10,2003 13:51:59, wrote: | > で、今回のパッチですが、1.8 on bccwin32ではminirubyが発狂し | > ました。 | > D:/ruby/src/mkconfig.rb:1668: yacc stack overflow | > とか言われてしまったので、どうも普通にファイルを読むだけで | > おかしくなってるみたいです | | [ruby-dev:19347]はカッコが抜けてました。これで連続する読み込み | でseekすることはないはずです。 あー、そういうことでしたか。 今回ので、ちゃんとコンパイルも通って手元の(単純な)テストケー スも通りました。 | というか、改行コードがLFのファイルをテキストモードで開いてseek | すると、msvcrtでもおかしくなりませんか。バッファに読み込んだ時 | 点でCRが削られたのか最初からなかったのか分からないはずなので、 | どうしようもない話なのかも知れませんが。 先のパッチのはmswin32では試しませんでした... # そういう話であってます? MSVCRT.dllの話をすると、fseek(fp, 0, SEEK_CUR) である限りは 問題はないように見えます。なんか見落としてるのかな。 | > 話をbccだけに限ると、下記のパッチぐらいで誤魔化せるみたいで | > はありますが... | | うーん、bccでもNEED_IO_FLUSH_BEFORE_SEEKは必要ないようなので、 | fseek()の中でfflush()してるような気がします。とすれば、これは実 | 際には、(エラーを無視するということを除いて)flushの後は必ずseek | するというのと等価なのでしょうか。 正直、なんでこうなるのかさっぱりわかってません。 ランタイムのソースがあればいいのに。昔はあったんだけどなぁ。 それでは。 -- U.Nakamura