From: Don Armstrong Date: Fri, 22 Jun 2007 19:42:58 +0000 (+0100) Subject: handle single options in Debbugs::SOAP correctly X-Git-Tag: release/2.6.0~536^2~1 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=c6dfbb11469ffe6c5318037a83059463eb9f2894;p=debbugs.git handle single options in Debbugs::SOAP correctly --- 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;