X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Debbugs%2FSOAP.pm;h=2d8306c0b30251e4d1dfd6e0d141b05ad04c7527;hb=c6dfbb11469ffe6c5318037a83059463eb9f2894;hp=7ab55e2b04255561f089b0a2061385b4303f818c;hpb=e7cac26fc5ff46f93aaad90dc9e26f192778d04a;p=debbugs.git diff --git a/Debbugs/SOAP.pm b/Debbugs/SOAP.pm index 7ab55e2..2d8306c 100644 --- a/Debbugs/SOAP.pm +++ b/Debbugs/SOAP.pm @@ -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;