瀏覽代碼

Dpkg::Changelog::find_closes(): don't return duplicate bug numbers

Ensure we don't return the same bug multiple times even if it's closed
multiple times.
Raphaël Hertzog 17 年之前
父節點
當前提交
a8a51a4a53
共有 1 個文件被更改,包括 3 次插入3 次删除
  1. 3 3
      scripts/Dpkg/Changelog.pm

+ 3 - 3
scripts/Dpkg/Changelog.pm

@@ -719,14 +719,14 @@ numbers in an array reference.
 
 
 sub find_closes {
 sub find_closes {
     my $changes = shift;
     my $changes = shift;
-    my @closes = ();
+    my %closes;
 
 
     while ($changes &&
     while ($changes &&
 	   ($changes =~ /closes:\s*(?:bug)?\#?\s?\d+(?:,\s*(?:bug)?\#?\s?\d+)*/ig)) {
 	   ($changes =~ /closes:\s*(?:bug)?\#?\s?\d+(?:,\s*(?:bug)?\#?\s?\d+)*/ig)) {
-	push(@closes, $& =~ /\#?\s?(\d+)/g);
+	$closes{$_} = 1 foreach($& =~ /\#?\s?(\d+)/g);
     }
     }
 
 
-    @closes = sort { $a <=> $b } @closes;
+    my @closes = sort { $a <=> $b } keys %closes;
     return \@closes;
     return \@closes;
 }
 }