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