2006年2月 1日

[Namazu-users-ja 682] Re: mknmzが止まってしまう

寺西です。

HIROSE Yoshihide wrote:
>
> > うちもダメですが、
> [snip]
> > とすれば、うちでは OK になります。
> > みなさんの環境ではどうなりますか?

>
> FreeBSD 4.11-STABLE/6-RELEASEともにOKでした。

そうですか。そうすると、

Yukio USUDA wrote:
>
>
> IO::File の制限のようにも見えますが、うまくいく環境もあるようですね。

というように IO::File の制限という気がしますね。

末尾にスペースだけじゃなくて、途中にスペースとかでも同様の問題が
生じます。

open を引数1つで呼び出すと、モードとファイル名の区切り等にスペース
を使いますから、ファイル名にスペースを許さないのもわからなくもない
のですが、"\" でエスケープすることも許されていませんね。
# 単純にバグというよりは、セキュリティ上の制限でしょうか。

複数の引数ですと、ファイル名の部分はファイル名以外はありえない
ので、OK ということなのでしょう。
# ???

ファイル名にスペースが入る可能性があるのは、インデックス対象ファイル
(と、もしかするとフィールドファイル)ぐらいです。

このため、この部分だけ efopen をファイル名とモードの2引数で
呼び出し、efopen, fopen も 2引数に対応するのが良いのでしょう。

また、将来的にはすべてファイル名と引数に分けた方が良いだろうし、
パイプや外部コマンドを呼び出している部分は、syscmd 等に置き換える
のが良いかと思います。

ただ、その修正は影響が大きく、デバッグにも時間がかかるだろうから、
今すぐだと、ファイル名にスペースが入る場合は、Win32 同様
一度別名でファイルをコピーして処理するというので良いかもしれません。
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E

_______________________________________________
Namazu-users-ja mailing list
Namazu-users-ja@xxxxx
http://www.namazu.org/cgi-bin/mailman/listinfo/namazu-users-ja

投稿者 xml-rpc : 2006年2月 1日 21:21
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/30755
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。