X-Git-Url: https://git.donarmstrong.com/?p=bugscan.git;a=blobdiff_plain;f=scanlib.pm;h=b1ef13a308f47fd1b47e9c6215228b7faeb29b29;hp=068b9b4fbc6e07e95469a7ed2c1b8dde3b261975;hb=4910392b828be13f7b22cd63e6411032dac5547b;hpb=e1dd77d3fdd4676de263097337e72ee41b6966f5;ds=sidebyside diff --git a/scanlib.pm b/scanlib.pm index 068b9b4..b1ef13a 100644 --- a/scanlib.pm +++ b/scanlib.pm @@ -371,11 +371,13 @@ my $_version_cache = {}; sub get_status() { my ($bugnr, $bug, $dist) = @_; - my $status = 'pending'; - my @versions = Debbugs::Status::getversions($bug->{'package'}, $dist, undef); my @sourceversions = Debbugs::Status::makesourceversions($bug->{'package'}, undef, @versions); + if (length($bug->{'done'}) and + (not @sourceversions or not @{$bug->{'fixed_versions'}})) { + return 'done'; + } if (@sourceversions) { my $max_buggy = Debbugs::Status::max_buggy(bug => $bugnr, sourceversions => \@sourceversions, @@ -383,18 +385,12 @@ sub get_status() { fixed => $bug->{'fixed_versions'}, version_cache => $_version_cache, package => $bug->{'package'}); - if ($max_buggy eq 'absent') { - $status = 'absent'; - } elsif ($max_buggy eq 'fixed') { - $status = 'done'; + if ($max_buggy eq 'absent' || $max_buggy eq 'fixed') { + return $max_buggy; } } - if (length($bug->{'done'}) and - (not @sourceversions or not @{$bug->{'fixed_versions'}})) { - $status = 'done'; - } - return $status; + return 'pending'; } sub check_worry {