summaryrefslogtreecommitdiff
path: root/FS/FS/ClientAPI_XMLRPC.pm
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2017-05-23 08:00:09 -0700
committerIvan Kohler <ivan@freeside.biz>2017-05-23 08:00:09 -0700
commit7a96e9d189ef7e5c0f200a7abd5fe948e890f151 (patch)
treeb846b66c124147d703317cc4d1f2173c370e916b /FS/FS/ClientAPI_XMLRPC.pm
parent9ae9f5269c0c380d52b00e896a451a42ac81adbd (diff)
fix multi-level data structures via XMLRPC API, RT#38254, RT#75279
Diffstat (limited to 'FS/FS/ClientAPI_XMLRPC.pm')
-rw-r--r--FS/FS/ClientAPI_XMLRPC.pm6
1 files changed, 4 insertions, 2 deletions
diff --git a/FS/FS/ClientAPI_XMLRPC.pm b/FS/FS/ClientAPI_XMLRPC.pm
index 2d8856a..8e21aef 100644
--- a/FS/FS/ClientAPI_XMLRPC.pm
+++ b/FS/FS/ClientAPI_XMLRPC.pm
@@ -75,8 +75,10 @@ sub AUTOLOAD {
#FS::ClientAPI->dispatch($autoload->{$call}, @_);
my %hash = @_;
- #XXX doesn't handle multi-level data structs
- $hash{$_} = decode(utf8=>$hash{$_}) foreach keys %hash;
+ #XXX doesn't deep-fix multi-level data structs, but at least doesn't mangle
+ # them anymore
+ $hash{$_} = decode(utf8=>$hash{$_})
+ foreach grep !ref($hash{$_}), keys %hash;
my $return = FS::ClientAPI->dispatch($autoload->{$call}, \%hash );