[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



藤井です。

From: MIYOSHI Masanori <miyoshi@xxxxxxxxxxx>
Subject: Re: [MD:7103] Bug? of unix-to-dos-filename and dos-to-unix-filename
Date: Sun, 14 May 2006 10:45:08 +0900
> > > normalize_filename() の前後で ENCODE_FILE と DECODE_FILE を実行す
> > > るように修正しました(r4076)。
> 
> > これはまずいです。
> 
> > dostounix-filename, unixtodos-filename 現状、encode された文字列と、
> > encode されていない文字列の双方が渡される可能性があります。
> 
> 了解です。スレッドを流れを把握してませんでした。
> 
> 藤井さんがおっしゃるように、normalize_filename() に渡す文字列を統
> 一すべきでしょう。
> 
> まずは、normalize_filename() をコールする関数を、cflow2cflow で把
> 握しようと思ったのですが、うまくいきませんでした。
> 
> ;; Cygwin ではビルドできないし、Linux だとヘッダの関係でちゃんと
> ;; フローがでない。

とりあえず、file_name_completion():dired.c でエンコードされた文字列を
以下のように dostounix_filename に渡しています。
  - file_name_completion
    - Ffile_name_as_directory
      - dostounix_filename

これが ticket:300 で報告されている 2 つめのバグの原因です。

> とりあえず、現状をベースとするならば、Funix_to_dos_filename() と
> Fdos_to_unix_filename() で normalize_filename() をコールする際だけ、
> encode/decode するのがよいかな?

そうだと思います。

--
藤井 正行 / Masayuki FUJII