Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

フィルタのバグ発見



寺西です。

manbinary.pl を作っていて気づいたのですが、フィルタに次のような
バグがあります。

gzip, compress 等をしたデータの場合正しく処理できないものを発見
しました。
doccat を使ったものや、rtf, ooo などです。

どうも調べてみると、フィルター内で次のような処理をしているものが
全滅のようでした。

    my $cfile = defined $orig_cfile ? $$orig_cfile : '';

    copy("$cfile", "$tmpfile2");

それまでのフィルタで処理された結果を、このフィルタが処理しない
といけないのですが、どうもオリジナルのファイルを処理してそうに
思います。

そういえば、HEAD では

    my $tmpfile = util::tmpnam('NMZ.rtf');
    {
        my $fh = util::efopen("> $tmpfile");
        print $fh $$cont;
    }

というようなスタイルで書いており、実際このようにするとこのバグは
発生しないようです。
既知の問題だったのかもしれませんが、macbinary.pl で処理するには
修正しておかないとまずいので、stable-2-0 も書き換えていいでしょうか?

また、HEAD では copy を使っていないのに use File::Copy; となっている
フィルタがありますが、これも削除してよろしいでしょうか?
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E