]> git.donarmstrong.com Git - debbugs.git/commitdiff
change fix to #858671 to split source with split_status_fields
authorDon Armstrong <don@donarmstrong.com>
Sun, 2 Apr 2017 21:42:29 +0000 (14:42 -0700)
committerDon Armstrong <don@donarmstrong.com>
Sun, 2 Apr 2017 21:42:29 +0000 (14:42 -0700)
Some consumers of get_bug_status via SOAP were not handling split packages

Debbugs/Status.pm

index 9723259bdf482ce4b80ffcfb81d1ffe31d54334b..6fe1c1a7a290544c479603f98f3d636fef2f6c59 100644 (file)
@@ -307,6 +307,9 @@ my $ditch_empty_space = sub {return &{$ditch_empty}(' ',@_)};
 my %split_fields =
     (package        => \&splitpackages,
      affects        => \&splitpackages,
+     # Ideally we won't have to split source, but because some consumers of
+     # get_bug_status cannot handle arrayref, we will split it here.
+     source         => \&splitpackages,
      blocks         => $ditch_empty_space,
      blockedby      => $ditch_empty_space,
      # this isn't strictly correct, but we'll split both of them for
@@ -1235,9 +1238,9 @@ sub get_bug_status {
      $status{package} = '' if not defined $status{package};
      $status{"package"} =~ s/\s*$//;
 
-     $status{source} = [binary_to_source(binary=>[split /\s*,\s*/, $status{package}],
+     $status{source} = binary_to_source(binary=>[split /\s*,\s*/, $status{package}],
                                        source_only => 1,
-                                      )];
+                                      );
 
      $status{"package"} = 'unknown' if ($status{"package"} eq '');
      $status{"severity"} = 'normal' if (not defined $status{severity} or $status{"severity"} eq '');