namazu-ml(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: namazu-1.4.0.0-beta-4 Re: namazu-1.4.0.0-beta-3
Kaz SHiMZ <kshimz@xxxxxxxxx> wrote:
>mknmz の実行時に、STDOUT に
>
> 6 /I|/test/%95%5C%8E%A6/%8B%7C%82%CC%8B%7C/%83%5C%82%CC%8B%7C
> ( これは、「6 I:\test\表示\弓の弓\ソの弓」の URL encoding)
>
>が表示される直前、STDERR に
>
> H:/BIN/sh.exe: I:/test/侮ヲ/<8B>: not found ← 「ヲ」だけ半角
> H:/BIN/sh.exe: /モフ<8B>: not found ← 「フ」だけ半角
> H:/BIN/sh.exe: の<8B>: not found
>
>と表示されます。つまり、sh.exe に EUC でファイル名がわたっている
>ような感じです。
そうではないでしょう。"%95%5C%8E%A6" から %5C ('\') を捨てれ
ば "侮ヲ" のコード (0x95, 0x8e, 0xa6) に一致します。
また、 '|' (0x7c) はパイプとして解釈されるので
"I:/test/侮ヲ/<8B>"
などというコマンドを実行しようとして失敗しています。
"/モフ<8B>", "の<8B>" についても同様です。
どうしてこれで
>が、mknmz はコケずに最後まで動いています。
動いてしまうのか不思議なくらいです。 ;-)
ところで、Win32 では namazu::load_document() 内で日本語のファ
イル名を扱うための細工をしていますが、こちらも 0x7c への対策
が必要かもしれません。この辺はもう少し検討が必要でしょう。
-- Satoru Takabayashi