From ac65e98bfbf2915e8ddbe88f9e6af423c6d3d208 Mon Sep 17 00:00:00 2001 From: Mihael Koep Date: Wed, 5 Aug 2026 13:16:25 +0200 Subject: [PATCH] Fix #2810 XML-RPC now retains type information on scalars. --- xmlrpc-lib.pl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/xmlrpc-lib.pl b/xmlrpc-lib.pl index 02a37963f..8a7fdb69a 100644 --- a/xmlrpc-lib.pl +++ b/xmlrpc-lib.pl @@ -18,7 +18,13 @@ my ($base64) = &find_xmls("base64", $value, 1); my ($struct) = &find_xmls("struct", $value, 1); my ($array) = &find_xmls("array", $value, 1); if ($scalar) { - return $scalar->[1]->[2] // ""; + my ($type, $content) = ($scalar->[0], $scalar->[1]->[2] // ""); + + return int($content) if ($type eq "int" || $type eq "i4"); + return $content ? 1 : 0 if ($type eq "boolean"); + return $content + 0.0 if ($type eq "double"); + + return $content; } elsif ($date) { # Need to decode date