おい!あふを語ろうぜ! Ver.29

このエントリーをはてなブックマークに追加
535名無しさん@お腹いっぱい。
俺も解凍関連の怪しい動作発見した
rarを解凍するとき書庫内のトップレベルとサブフォルダに同名のファイルがあれば
書庫内閲覧からトップレベルの方のファイルを選択解凍してもサブフォルダに入ってるのが解凍される。

説明しづらいのでサンプルうp
ttp://geiji.s10.x-beat.com/php/img/up1166.rar
これを書庫内閲覧してafx.txtを解凍してみたら分かる
こんな現象起こるの俺だけだったらすまない。
536名無しさん@お腹いっぱい。:2008/11/03(月) 22:41:47 ID:KJH+lvYu0
>>535
ホントだ
*の方をコピーしたはずなのに←←←*→→→の方がコピーされてる
537名無しさん@お腹いっぱい。:2008/11/03(月) 22:51:27 ID:gPUxVT0P0
>>535
確認。なった。

unrar32.dll ver.0.0.10.0

>>534
こっちはならなかった。
やり方違ってただけかもしれないけど。

7-zip32.dll ver.4.57.0.1
538名無しさん@お腹いっぱい。:2008/11/03(月) 23:19:36 ID:0n1Xlffb0
たぶんその辺はDLL側の動作なんだろうな。
統合アーカイバプロジェクトに誰かが報告すれば誰かが直してくれるのかな?

あ、もちろんその誰かは、どちらも俺ではないよ。間違いなく。
539名無しさん@お腹いっぱい。:2008/11/03(月) 23:23:50 ID:sHTGJWNY0
俺でもないよ。
540名無しさん@お腹いっぱい。:2008/11/03(月) 23:32:46 ID:li3s4KeM0
DLLのせいだと思ってArchon2で試してもLhaForgeで試しても問題無いから
さらに不思議なんだよ。
541名無しさん@お腹いっぱい。:2008/11/03(月) 23:52:11 ID:gPUxVT0P0
>>540
ちょっと上でPPX試した、って書いたんだけど、
そのPPXで試しても同じ結果になった。

あふだけじゃないみたいだから、DLLの問題かも。
542名無しさん@お腹いっぱい。:2008/11/03(月) 23:56:53 ID:gwJegmtg0
統合アーカイバDLLってちょっとしか触ったことないけど
確か統合的なインターフェースは
昔のLHAに渡すコマンドラインみたいなのをそのままDLLに渡したような記憶。
で、それとは別に個別で(オンメモリ展開とか)いろいろな機能があったような。

もしかしたらその擬似コマンドラインに渡すパラメータに違いがあるのかもね。
フルパスで渡すかどうかとか、ディレクトリの最後に\をつけるかとか。
543名無しさん@お腹いっぱい。:2008/11/04(火) 00:01:27 ID:gwJegmtg0
例えば先の.rarの例だと
圧縮するときにファイルの一覧をとっておいてから圧縮する場合、
サブディレクトリの方が先に取得される場合が多い(再帰的に取得する場合)。
で、.rarは確かindex持ってないから、先頭から調べて一致するファイル名を展開するとすれば
先に見つかったサブディレクトリの方が展開されることになる。
これをもし、書庫内のルートからのパスを指定して解凍させれば
厳密に一致したファイル(書庫のルートにあるファイル)が展開されるのかもしれない。
544名無しさん@お腹いっぱい。:2008/11/04(火) 00:02:53 ID:gwJegmtg0
あ、単純にフルパス名で比較するオプションとかがある可能性のほうが高いな。
545名無しさん@お腹いっぱい。:2008/11/04(火) 07:58:50 ID:ZsejnL0u0
PPXのスレでも報告した方がいいんじゃね?
546名無しさん@お腹いっぱい。:2008/11/04(火) 09:33:14 ID:/DSMr+rM0
unrar32.dllのドキュメントで発見

-s filespec の比較を厳密に行います。
 -s が指定されると、unrar32.dll はフルパスでの一致を試みます。
 -s が指定されず、filespec が '\' および '/' を含まない場合、
 unrar32.dll は書庫に格納されたファイル名からディレクトリを除い
 た部分との一致を試みます。
 filespec が '\' または '/' を含む場合は、-s の指定の如何に関わ
 らずフルパスでの一致を試みます。

PPXでこのオプション付けたら正しい結果になったわ