X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=lib%2FPackages%2FDoSearchContents.pm;h=b1057f83bd51a084baed256bb4eac4b2630e96e9;hb=a38d98d27880c8fc0f4d98646e318ecc1d39884f;hp=3079f92de025aedd126746745b47f8fe6a1a40a2;hpb=6af10f3657d5ef5e0d15fe4a48590655fe136b7b;p=deb%2Fpackages.git
diff --git a/lib/Packages/DoSearchContents.pm b/lib/Packages/DoSearchContents.pm
index 3079f92..b1057f8 100644
--- a/lib/Packages/DoSearchContents.pm
+++ b/lib/Packages/DoSearchContents.pm
@@ -44,8 +44,7 @@ sub do_search_contents {
$$menu = "";
my $keyword = $opts->{keywords};
- my $searchon = $opts->{searchon};
- my $exact = $opts->{exact};
+ my $mode = $opts->{mode} || '';
my $suite = $opts->{suite}[0];
my $archive = $opts->{archive}[0] ||'';
$Packages::Search::too_many_hits = 0;
@@ -58,7 +57,6 @@ sub do_search_contents {
# for output
my $keyword_enc = encode_entities $keyword || '';
- my $searchon_enc = encode_entities $searchon;
my $suites_enc = encode_entities( join( ', ', @{$params->{values}{suite}{no_replace}} ), '&<>"' );
my $sections_enc = encode_entities( join( ', ', @{$params->{values}{section}{no_replace}} ), '&<>"' );
my $archs_enc = encode_entities( join( ', ', @{$params->{values}{arch}{no_replace}} ), '&<>"' );
@@ -72,7 +70,7 @@ sub do_search_contents {
my $kw = lc $keyword;
# full filename search is tricky
- my $ffn = $searchon eq 'filenames';
+ my $ffn = $mode eq 'filename';
my $reverses = tie my %reverses, 'DB_File', "$DBDIR/contents/reverse_$suite.db",
O_RDONLY, 0666, $DB_BTREE
@@ -82,9 +80,6 @@ sub do_search_contents {
open FILENAMES, '-|', 'fgrep', '--', $kw, "$DBDIR/contents/filenames_$suite.txt"
or die "Failed opening filename table: $!";
- error( _g( "Exact and fullfilenamesearch don't go along" ) )
- if $ffn and $exact;
-
while (
'._g('File').' | '._g('Packages') - .' |
---|---|
/$file | "; + my $file_enc = encode_entities($file); + $file_enc =~ s#(\Q$keyword_enc\E)#$1#g; + $$page_content .= " |
/$file_enc | "; my @pkgs; foreach my $pkg (sort keys %{$results{$file}}) { my $arch_str = ''; @@ -203,9 +211,9 @@ sub do_search_contents { push @pkgs, "$suite})."\">$pkg$arch_str"; } $$page_content .= join( ", ", @pkgs); - $$page_content .= ' | '; + $$page_content .= "
'._g('File').' | '._g('Packages').' |
'._g('File').' | '._g('Packages')." |