[freeside-commits] branch FREESIDE_4_BRANCH updated. 75485ea22d91bfb1e74f6cf1d8ec6f27a7f24e82

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


The branch, FREESIDE_4_BRANCH has been updated
       via  75485ea22d91bfb1e74f6cf1d8ec6f27a7f24e82 (commit)
      from  a345db7e645ff8c86e5e655fed3c3a66d53c4958 (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 75485ea22d91bfb1e74f6cf1d8ec6f27a7f24e82
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Tue May 23 08:00:15 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