]> git.donarmstrong.com Git - debbugs.git/blobdiff - Debbugs/SOAP.pm
merge changes from dla source tree
[debbugs.git] / Debbugs / SOAP.pm
index 7ab55e2b04255561f089b0a2061385b4303f818c..fc6af2ec9e93a343fd4ba4214f2b8155702318dc 100644 (file)
@@ -119,9 +119,18 @@ sub get_bugs{
      my $VERSION = __populate_version(pop);
      my ($self,@params) = @_;
      my %params;
+     # Because some clients can't handle passing arrayrefs, we allow
+     # options to be specified multiple times
      while (my ($key,$value) = splice @params,0,2) {
          push @{$params{$key}}, make_list($value);
      }
+     # However, for singly specified options, we want to pull them
+     # back out
+     for my $key (keys %params) {
+         if (@{$params{$key}} == 1) {
+              ($params{$key}) = @{$params{$key}}
+         }
+     }
      my @bugs;
      @bugs = Debbugs::Bugs::get_bugs(%params);
      return \@bugs;