I'm sorry I submitted the modified version of apt-file and not the patch. The actual patch is in this message.

--- apt-file	2008-08-29 13:32:06.000000000 +0200
+++ apt-file-2.1.5/apt-file	2008-08-23 18:50:37.000000000 +0200
@@ -245,17 +245,6 @@
         $cmd = "set -x; $cmd"       if $Conf->{verbose};
         $cmd = "($cmd) < /dev/null" if $Conf->{non_interactive};
         system($cmd) if !defined $Conf->{dummy};
-        my $file = "$Conf->{cache}/$_->{dest}";
-        if ( $Conf->{uncompress} ) {
-            system("gunzip", "--force", $file) if -e $file;
-        }
-        else {
-            # If previously we where using uncompressed files and now we changed
-            # our mind we should remove the old files otherwise we will have
-            # both uncompressed and the compressed files in the disk!
-            $file =~ s/\.gz$//;
-            unlink $file;
-        }
     }
 }
 
@@ -298,7 +287,6 @@
         = $Conf->{is_regexp}   ? "zcat"
         : $Conf->{ignore_case} ? "zfgrep -i $zgrep_pattern"
         :                        "zfgrep $zgrep_pattern";
-    $zcat =~ s/^z// if $Conf->{uncompress};
     my $regexp = eval { $Conf->{ignore_case} ? qr/$pattern/i : qr/$pattern/ };
     error($@) if $@;
     my $quick_regexp = escape_parens($regexp);
@@ -306,15 +294,13 @@
 
     foreach (@$data) {
         my $file = "$Conf->{cache}/$_->{dest}";
-        $file =~ s/\.gz$// if $Conf->{uncompress};
         next if ( !-f $file );
 
         # Skip already searched files:
         next if $seen{$file}++;
+        $file = quotemeta $file;
         debug "Search in $file using $zcat";
-        # If the command is 'cat' then bypass the fork and just read the file
-        my $open_cmd = ($zcat eq 'cat') ? $file : "$zcat \Q$file\E |";
-        open( ZCAT, $open_cmd )
+        open( ZCAT, "$zcat $file |" )
             || warning "Can't $zcat $file";
         while (<ZCAT>) {
 
@@ -440,13 +426,10 @@
 sub purge_cache($) {
     my $data = shift;
     foreach (@$data) {
-        my $file = "$Conf->{cache}/$_->{dest}";
-        $file =~ s/\.gz$// if $Conf->{uncompress};
-        debug "Purging $file";
+        debug "Purging $Conf->{cache}/$_->{dest}";
         next if defined $Conf->{dummy};
-        next unless -e $file;
-        next if ( unlink $file ) > 0;
-        warning "Can't remove $file";
+        next if ( unlink "$Conf->{cache}/$_->{dest}" ) > 0;
+        warning "Can't remove $Conf->{cache}/$_->{dest}";
     }
 }
 
@@ -539,22 +522,6 @@
         exit 0;
     }
 
-    if ( defined $Conf->{uncompress} ) {
-        my $uncompress = lc $Conf->{uncompress};
-        if ( $uncompress =~ /^\d+$/ ) {
-            $Conf->{uncompress} = $uncompress;
-        }
-        elsif ( $uncompress eq 'true' or $uncompress eq 'yes' ) {
-            $Conf->{uncompress} = 1;
-        }
-        else {
-            $Conf->{uncompress} =  0;
-        }
-    }
-    else {
-        $Conf->{uncompress} =  0;
-    }
-
     my $interactive = $Conf->{interactive};
     defined $interactive or $interactive = "cdrom rsh ssh";
     $Conf->{interactive} = {};
@@ -618,6 +585,7 @@
         error
             "The cache directory is empty. You need to run 'apt-file update' first.";
     }
+
     $actions->{ $Conf->{action} }->($sources);
 }
 

Reply via email to