From: Ivan Kohler Date: Tue, 23 May 2017 15:00:09 +0000 (-0700) Subject: fix multi-level data structures via XMLRPC API, RT#38254, RT#75279 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=7a96e9d189ef7e5c0f200a7abd5fe948e890f151 fix multi-level data structures via XMLRPC API, RT#38254, RT#75279 --- diff --git a/FS/FS/ClientAPI_XMLRPC.pm b/FS/FS/ClientAPI_XMLRPC.pm index 2d8856ab8..8e21aef1b 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 );