From 6e306e954ae6c80b953c8ca0c52399f30d8f8211 Mon Sep 17 00:00:00 2001 From: Stefan Sayer Date: Sat, 19 Jun 2010 17:28:13 +0200 Subject: [PATCH] bool and invalid (null) types in XMLRPC2DI --- apps/xmlrpc2di/XMLRPC2DI.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/apps/xmlrpc2di/XMLRPC2DI.cpp b/apps/xmlrpc2di/XMLRPC2DI.cpp index 2886abdc..b56e1d98 100644 --- a/apps/xmlrpc2di/XMLRPC2DI.cpp +++ b/apps/xmlrpc2di/XMLRPC2DI.cpp @@ -512,6 +512,9 @@ void XMLRPC2DIServer::xmlrpcval2amarg(XmlRpcValue& v, AmArg& a) { case XmlRpcValue::TypeInt: { /* DBG("X->A INT\n"); */ a = (int)v; } break; case XmlRpcValue::TypeDouble:{ /* DBG("X->A DBL\n"); */ a = (double)v; } break; case XmlRpcValue::TypeString:{ /* DBG("X->A STR\n"); */ a = ((string)v).c_str(); } break; + case XmlRpcValue::TypeBoolean : { /* DBG("X->A BOL\n"); */ a = (bool)v; } + case XmlRpcValue::TypeInvalid : { /* DBG("X->A BOL\n"); */ a = AmArg(); } + case XmlRpcValue::TypeArray: { /* DBG("X->A ARR\n"); */ a.assertArray(); @@ -542,6 +545,15 @@ void XMLRPC2DIServer::xmlrpcval2amarg(XmlRpcValue& v, AmArg& a) { void XMLRPC2DIServer::amarg2xmlrpcval(const AmArg& a, XmlRpcValue& result) { switch (a.getType()) { + + case AmArg::Undef: + result = 0; // XmlRpcValue(); + break; + + case AmArg::Bool: + result = a.asBool(); + break; + case AmArg::CStr: // DBG("a->X CSTR\n"); result = string(a.asCStr()); break;