--- fuse-comp.pl 2007/07/16 07:41:55 33 +++ fuse-comp.pl 2007/07/16 07:51:20 34 @@ -30,7 +30,7 @@ tmp => '/dev/shm/comp', }; -my $skip_extensions_regex = qr/\.(?:sw[a-z]|gif|png|jpeg|jpg|avi|rar|zip|bz2|gz|tgz|avi|mpeg|mpg|tmp|temp)$/i; +my $skip_extensions_regex = qr/gz|gz%|\.(?:sw[a-z]|gif|png|jpeg|jpg|avi|rar|zip|bz2|tgz|avi|mpeg|mpg|tmp|temp)$/i; # don't compress files smaller than this my $min_compress_size = 512; @@ -50,7 +50,11 @@ confess "ASSERT: unexpected $dir/$name exists" if -e "$dir/$name"; return "${name}.gz"; } - return $name; + if ( $name =~ m/\.gz$/ ) { + return $name . '%'; # protect (mingle) compressed files + } else { + return $name; + } } sub fixup { @@ -61,6 +65,7 @@ sub original_name { my $p = shift; $p =~ s/\.gz$//; + $p =~ s/\.gz%$/.gz/; # demungle compressed .gz files return $p; };