[freeside-commits] branch FREESIDE_3_BRANCH updated. 0edab19755de1aedc34fc6b1bc91c8f6d3e91149

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


The branch, FREESIDE_3_BRANCH has been updated
       via  0edab19755de1aedc34fc6b1bc91c8f6d3e91149 (commit)
      from  6a447b7839b73e164133c67d27b0e4e670e0ae8c (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 0edab19755de1aedc34fc6b1bc91c8f6d3e91149
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Tue May 23 08:00:17 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 a82a82f..3f5d888 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