Airxzipで0Byteのファイルを圧縮すると、
Mac OSの標準的にインストールされているzipコマンドで解凍できないというバグがありました。
今回、このためソースを修正しました。
ただし、どうやらWindowsでは問題ないようです。
(改めて、この修正をアーカイブとしてアップしようと思います。)
さて、原因ですが、簡単にいえば0Byteのファイルをinflateしようとして、エラーになっているようです。
ようは、0Byteなのだから、圧縮形式にしなければよい訳です。
これをコマンド等を使って確認してみると
unzip airxzip.zip
Archive: airxzip.zip
inflating: blank
error: invalid compressed data to inflate
こんな感じにエラーになってしまいます。
ちなみに、unzip -v airxzip.zip
とすると
Length Method Size Ratio Date Time CRC-32 Name
——– —— ——- —– —- —- —— —-
0 Defl:N 0 0% 12-02-11 01:07 00000000 blank
——– ——- — ——-
0 0 0% 1 file
のように表示されます。
しかし、macのzipコマンドで圧縮したものは、
Length Method Size Ratio Date Time CRC-32 Name
——– —— ——- —– —- —- —— —-
0 Stored 0 0% 12-02-11 01:07 00000000 b1
——– ——- — ——-
0 0 0% 1 file
のように、macでzipしたものは圧縮されていない(Method = Stored )のがわかります。
したがって、airxzipも0ByteのデータはMethodで圧縮形式ではないことにして、
アーカイブにするようにしました。
これで、Mac OS XとWindowsでは解凍できることも確認できました。


