From a07d4945c1a301aeaf4b67411065b9adcfac1065 Mon Sep 17 00:00:00 2001 From: jsdelfino Date: Mon, 27 Feb 2012 03:26:51 +0000 Subject: Fix mapping between repeating XML elements, S-expression lists, and JSON array cells. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1294006 13f79535-47bb-0310-9956-ffa450edef68 --- sca-cpp/trunk/kernel/element.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sca-cpp/trunk/kernel/element.hpp') diff --git a/sca-cpp/trunk/kernel/element.hpp b/sca-cpp/trunk/kernel/element.hpp index c69d3bbf07..27b5af8691 100644 --- a/sca-cpp/trunk/kernel/element.hpp +++ b/sca-cpp/trunk/kernel/element.hpp @@ -172,10 +172,10 @@ const list elementToValueGroupValues(const value& v, const list& l if (car(car(l)) != car(v)) return cons(v, l); if (!elementToValueIsList(cadr(car(l)))) { - const value g = mklist(car(v), mklist(cdr(v), cdr(car(l)))); + const value g = mklist(car(v), mklist(isList(cadr(v))? (value)cdr(v) : cadr(v), isList(cadr(car(l)))? (value)cdr(car(l)) : cadr(car(l)))); return elementToValueGroupValues(g, cdr(l)); } - const value g = mklist(car(v), cons(cdr(v), (list)cadr(car(l)))); + const value g = mklist(car(v), cons(isList(cadr(v))? (value)cdr(v) : cadr(v), (list)cadr(car(l)))); return elementToValueGroupValues(g, cdr(l)); } -- cgit v1.2.3