]> git.deb.at Git - deb/packages.git/blobdiff - lib/Packages/Search.pm
Fix handling of parameters when more than one replace pattern has
[deb/packages.git] / lib / Packages / Search.pm
index 9418f63e0c3037b14cd9ce079c34403f28427ed4..1851c837845c465582edfc43723e039b733a21f5 100644 (file)
@@ -134,9 +134,10 @@ sub parse_params {
        my @p_value_no_replace = @p_value;
 
        if ($params{$param}{replace} && @p_value) {
-           @p_value = ();
            foreach my $pattern (keys %{$params{$param}{replace}}) {
-               foreach (@p_value_no_replace) {
+               my @p_value_tmp = @p_value;
+               @p_value = ();
+               foreach (@p_value_tmp) {
                    if ($_ eq $pattern) {
                        my $replacement = $params{$param}{replace}{$_};
                        if (ref $replacement) {
@@ -413,6 +414,7 @@ sub do_names_search {
     $postfixes->seq( $key, $prefixes, R_CURSOR );
     while (index($key, $keyword) >= 0) {
        if ($prefixes =~ /^\001(\d+)/o) {
+           debug( "$key has too many hits", 2 );
            $too_many_hits += $1;
        } else {
            foreach (split /\000/o, $prefixes) {