setbuf

ちょっと前のコードを引っ張り出してきた。UNIX上ならば動くのだけれども、ポートを外から叩きたいので家の cygwinコンパイルした。実行するとセグメンテーションフォルトで落ちる。読むと、どうも、C++の理念に走っていた時期のもののようで何か嫌なコードだ。たぶん富豪なところが嫌い。
分かったことは socket をいじるのに std::basic_streambuf を継承してやっていたのだが、どうやら setbuf(0,0); がいけないらしい。で、しかも型が違う。setbuf が のそれではなくて ANSI C の のそれっぽい。なんじゃこりゃ。ちゃんと継承してるぜ。