[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00854] Re: FDclone 3.00f has been released



 しらいです。

In Message-Id <20100528205458.704CD4806A4@yuka.unixusers.net>
        Takashi SHIRAI <shirai@unixusers.net>writes:
>  しらいです。

>  以下は HISTORY より今回の変更点の抜粋です。

 また前回の release から間が開いてしまいましたが、今回は結
構昔からの不具合に対する修正も含んでいるので、結構慎重に動作
検証しています。


> 	組込みコマンド dir の挙動が MS-DOS 仕様と異なっていた点を修正。

 そもそも dir コマンドは COMMAND.COM の代用に FDclone を用
いることを念頭に設計されていたため、MS-DOS の dir コマンドに
準拠した仕様になっていました。
 その後 Windows 時代になり dir コマンドへの機能拡張が加わっ
たため、その部分に関しては FDclone も追随しましたが、ベース
は飽くまでも MS-DOS です。
 しかし、FDclone での実装では、当初から以下の点で MS-DOS と
異なる挙動を示していたようです。
・-a option で弾かれた file の数がカウントに含まれる。
・-a option への複数属性の列挙が選言でなく連言と解釈される。
・条件絞込みにより該当なしの時に directory 名が表示されない。

 MS-DOS も色々な version があるので、これらの挙動を示すもの
があるのかと思って調べてみましたが、MS-DOS 3.3 時代からこの
ような挙動は存在しなかったようです。
 どれも敢えてそういう仕様にしているようなのですが、今となっ
てはどうしてそうなったのか判りません。man page にもここまで
詳しい仕様は載せてないので、この際 MS-DOS に合わせました。


> 	組込みコマンド dir の属性マスク既定値が無効化していた点を修正。

 これも dir コマンドの挙動に関する話なのですが、上と違って
こちらは 2.05 で embug するまでは正しい挙動を示していたので、
敢えて別項目に分けました。
 2.04c 以前では、特に指定しない限りは hidden file と system
file は表示の対象外でしたが、2.05 以降では、何も指定しないと
全 file が対象となってしまっていました。
 当初は、例えば「-ar-d」option を内部的に「Rd」として保持し、
小文字で指定された属性は除外対象で。大文字で指定された属性は
表示対象と見なしていました。
 なので未指定時の属性条件は、内部表現では「hs」になっていま
した。

 これが 2.05 になって、内部的にも option 文字列のまま「R-D」
のように保持するようになりましたが、属性条件既定値が以前のま
ま「hs」と指定されていました。
 新しい内部表現では小文字の属性文字は無視されるので、この指
定は結果的にどんな属性でも表示対象にしてしまいます。これを本
来の MS-DOS 仕様に合わせて「-H-S」に修正しました。


> 	COPY_TREE/MOVE_TREE 中のキャンセルで異常終了する点を修正。

 [FDclone-users:00851] で指摘のあった bug に対する修正です。

                                               しらい たかし