[Namazu-win32-users-ja 1260] Re: 解決しました( Re: mknmzの処理が中断する )

Yukio USUDA m6694ha392t @ asahi-net.or.jp
2010年 10月 2日 (土) 22:13:24 JST


臼田です


On 2010/10/02, at 19:27, Tadamasa Teranishi wrote:

> 
> Unicode 版 API を使えばこの制限はクリアできるのですが、ActivePerl は
> 対応していないので、Win32:API (か、Win32::Unicode なのかな?) を使って
> Windows べったりのコーディングを行わないといけない気がして、乗り気に
> なれませんね。

Win32::API は生の API を操作させられるような感じがしますが
Win32::Unicode は Perl の関数に似せた関数を割り当ててあるので
比較的 MS−Windows を意識しない書き方にできるとは思います。
環境に応じて呼び出す関数群を関数のポインタのようにして切り替え
てしまえばコードの見通しは悪くならないのではと思っています。


> 
> しかも、フィルタプログラムはそのような長いパスを扱えない可能性が
> あるので、短いパスにワークディレクトリを掘ってそこで実行する
> ような仕組みとか必要そうです。

こちらは既に完了しています。
mknmz が一旦読み込んだファイルをテンポラリに書き出してから
使用しているので、フィルタの中から外部コマンドが元のファイル名を
つかって直接アクセスするようになっている処理は残っていないはずです。

臼田幸生




Namazu-win32-users-ja メーリングリストの案内