summaryrefslogtreecommitdiffstats
path: root/Bugzilla/WebService/Server/XMLRPC.pm
diff options
context:
space:
mode:
authorMax Kanat-Alexander <mkanat@bugzilla.org>2010-07-14 01:05:02 +0200
committerMax Kanat-Alexander <mkanat@bugzilla.org>2010-07-14 01:05:02 +0200
commit9b37668c48ab7f57e046af7e31b34212f58df87f (patch)
tree25bcbf5b3f161528aaee3c99e68eee210a29018e /Bugzilla/WebService/Server/XMLRPC.pm
parent5b82a3b7cedbc3d71bc512d26e426625c483dc12 (diff)
downloadbugzilla-9b37668c48ab7f57e046af7e31b34212f58df87f.tar.gz
bugzilla-9b37668c48ab7f57e046af7e31b34212f58df87f.tar.xz
Bug 577765: Allow XML-RPC to accept multiple positional parameters
r=ghendricks, a=mkanat
Diffstat (limited to 'Bugzilla/WebService/Server/XMLRPC.pm')
-rw-r--r--Bugzilla/WebService/Server/XMLRPC.pm14
1 files changed, 8 insertions, 6 deletions
diff --git a/Bugzilla/WebService/Server/XMLRPC.pm b/Bugzilla/WebService/Server/XMLRPC.pm
index 6eb09dc22..18757c0ec 100644
--- a/Bugzilla/WebService/Server/XMLRPC.pm
+++ b/Bugzilla/WebService/Server/XMLRPC.pm
@@ -152,13 +152,15 @@ use Bugzilla::WebService::Util qw(taint_data);
sub paramsin {
my $self = shift;
- return $self->{bz_params_in} if $self->{bz_params_in};
- my $params = $self->SUPER::paramsin(@_);
- if ($self->{_bz_do_taint}) {
- taint_data($params);
+ if (!$self->{bz_params_in}) {
+ my @params = $self->SUPER::paramsin(@_);
+ if ($self->{_bz_do_taint}) {
+ taint_data(@params);
+ }
+ $self->{bz_params_in} = \@params;
}
- $self->{bz_params_in} = $params;
- return $self->{bz_params_in};
+ my $params = $self->{bz_params_in};
+ return wantarray ? @$params : $params->[0];
}
1;