[freeside-commits] branch master updated. 7a96e9d189ef7e5c0f200a7abd5fe948e890f151

Ivan ivan at 420.am
Tue May 23 08:00:14 PDT 2017


The branch, master has been updated
       via  7a96e9d189ef7e5c0f200a7abd5fe948e890f151 (commit)
      from  9ae9f5269c0c380d52b00e896a451a42ac81adbd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 7a96e9d189ef7e5c0f200a7abd5fe948e890f151
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Tue May 23 08:00:09 2017 -0700

    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 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 );
 

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/ClientAPI_XMLRPC.pm |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)




More information about the freeside-commits mailing list