Ticket #8050

「解凍先パスを最適化する」の二重フォルダ防止が誤動作する
Open Date: 2006-02-17 19:58 Last Update: 2006-07-30 03:59

Reporter:
Owner:
Type:
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
6
Severity:
5 - Medium
Resolution:
Fixed
File:
None

Details

「解凍先パスを最適化する」オプションは、書庫ファイル名
から末尾の数字と関連記号("." や "-" 等)を取り除く機能
と、二重フォルダ防止のためのフォルダ作成抑制の機能のふ
たつを統合した機能となっていますが、二重フォルダ防止部
分にバグがあります。

- 二重フォルダ防止が働かないことがある
.gza 書庫、.bza 書庫は二重フォルダとなる条件の書庫で
あっても防止機能が働きません。BgaGetFile() 相当の API
が BGA32.DLL において未実装である、ということに起因する
バグです。
(パスワード付き .yz1 書庫にて防止機能が働かないのは yz1
書庫仕様のセキュリティ絡みの部分に起因する制限事項です
ので、こちらに関しては対応する予定はありません)

- 二重フォルダ防止が誤動作することがある
書庫内のファイル名が 「.\○○」といった単体または複数の
ファイル名で構成されている場合、Meltice は「.\」をフォ
ルダであると誤認し、二重フォルダ防止が誤動作します。こ
のことにより、二重フォルダに該当しない書庫はフォルダ作
成が抑制されて解凍先フォルダに直接複数ファイルが展開さ
れる動作となってしまいます。
(この現象は、圧縮解凍ソフト Noah でファイル名冒頭が "-"
になっているファイル複数を tgz 形式で圧縮し、Meltice で
解凍しようとすると確認することができます)

Ticket History (3/3 Histories)

2006-02-17 20:05 Updated by: ardry
Comment
Logged In: YES
user_id=219

この問題は「解凍先パスを最適化する」オプションのバグのため、
該当オプションを無効にすることにより誤動作の回避は一応可能です。

修正は Meltice 次期バージョンである Ver.2.2.1 で行う予定で
す。現在考えている修正内容は、以下の通りです。

二重フォルダ防止が BGA32.DLL 系書庫で働かない問題について
は、全書庫形式で GetFile() 系 API ではなく INDIVIDUALINFO 構
造体から直接ファイル名を取得することにより解消できると考えら
れます。

二重フォルダ防止が .\○○ といったファイル名により誤動作する問
題については、.\ というパスがある場合は .\○○\ と、二つ先の
バックスラッシュ記号までのパスを配慮するようコードを修正予定
です (.\ なら二重フォルダ防止を強制無効、とすると
.\aaa\hoge.txt .\aaa\foo.txt といった「二重フォルダに該当す
る書庫」が二重フォルダ防止から漏れてしまうバグに繋がってしま
うので、修正には注意が必要です)
2006-07-30 03:58 Updated by: ardry
  • Ticket Close date is changed to 2006-07-30 03:58
  • Resolution Update from None to Fixed
  • Status Update from Open to Closed
Comment
Logged In: YES
user_id=219

Meltice Family Ver.2.2.0.1 (Frostice.mxd Ver.2.20.1) にてこ
の不具合のための修正コードを折り込みました。近日中に公開予定
です。
2006-07-30 03:59 Updated by: ardry
  • Ticket Close date is changed to 2006-07-30 03:59
Comment
Logged In: YES
user_id=219

この問題は解凍系の問題であり、Frostice は関係ありませんでした。
失礼しましたm_ _m

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login