[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: [MD:7103] Bug? of unix-to-dos-filename and dos-to-unix-filename



>>>>> [meadow-develop : No.7307] にて
>>>>> himiさんは書きました:
> > ちなみに、今回気付いたのは、mw32-sh-get-file-info が動かないなぁ?
> > からです。これは、'C' レベルで unix_to_dos_filename() を call し
> > ているから救えない。

> normalize_filename()は、Windows の国際化APIを使ってファイルを見分けているから
> unix-to-dos-filenameや、dos-to-unix-filenameでnormalize_filename前に
> ENCODE_FILE と DECODE_FILEをすればよいはずです。

なるほど。
normalize_filename() の前後で ENCODE_FILE と DECODE_FILE を実行す
るように修正しました(r4076)。

この変更で、以下のようになります。

(unix-to-dos-filename "c:/書/tmp.txt")
=> "c:\\書\\tmp.txt"

(dos-to-unix-filename "c:\\書\\tmp.txt")
=> "c:/書/tmp.txt"


以下メモ
o w32.c にメモリ破壊のバグがいくつか残っていそう。例えば、
  unix-to-dos-filename() でファイル名が長くなるのに、メモリを確保
  していない等。
o w32.c での Meadow 固有の変更部分が不明確。変更箇所が多すぎて
  #ifdef MEADOW 〜 #endif では対応不可。mw32.c を作るべきか?

--
三好 雅則 http://miyoshi.meadowy.org/