From: Don Armstrong Date: Wed, 25 Nov 2009 20:30:31 +0000 (-0800) Subject: handle multiple packages and tags in limit X-Git-Tag: release/2.6.0~432^2 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=ca125564b322a7aba71d9f81a73a02528927c80f;p=debbugs.git handle multiple packages and tags in limit --- diff --git a/Debbugs/Control.pm b/Debbugs/Control.pm index 6d0fafba..f79c5837 100644 --- a/Debbugs/Control.pm +++ b/Debbugs/Control.pm @@ -2799,23 +2799,28 @@ sub __check_limit{ my $transcript = globify_scalar(exists $param{transcript}?$param{transcript}:undef); my $going_to_fail = 0; for my $data (@data) { - $data = get_bug_status(bug => $data->{bug_num}, - status => dclone($data), - ); + $data = split_status_fields(get_bug_status(bug => $data->{bug_num}, + status => dclone($data), + )); for my $field (keys %{$param{limit}}) { next unless exists $param{limit}{$field}; my $match = 0; - for my $limit (make_list($param{limit}{$field})) { + my @data_fields = make_list($data->{$field}); +LIMIT: for my $limit (make_list($param{limit}{$field})) { if (not ref $limit) { - if ($data->{$field} eq $limit) { - $match = 1; - last; + for my $data_field (@data_fields) { + if ($data_field eq $limit) { + $match = 1; + last LIMIT; + } } } elsif (ref($limit) eq 'Regexp') { - if ($data->{$field} =~ $limit) { - $match = 1; - last; + for my $data_field (@data_fields) { + if ($data_field =~ $limit) { + $match = 1; + last LIMIT; + } } } else {