From 7905926c413e843d9497948cb824059f2c017f6a Mon Sep 17 00:00:00 2001 From: jsdelfino Date: Mon, 26 Aug 2013 03:04:23 +0000 Subject: Support sorting database search results by rank, and add a rank attribute to ATOM entries. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1517412 13f79535-47bb-0310-9956-ffa450edef68 --- sca-cpp/trunk/kernel/element.hpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (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 4798570982..5c1d515004 100644 --- a/sca-cpp/trunk/kernel/element.hpp +++ b/sca-cpp/trunk/kernel/element.hpp @@ -167,6 +167,8 @@ inline const bool elementToValueIsSymbol(const value& v) { } inline const list elementToValueGroupValues(const value& v, const list& l) { + debug(v, "elementToValueGroupValues::v"); + debug(l, "elementToValueGroupValues::l"); if (isNull(l) || !elementToValueIsSymbol(v) || !elementToValueIsSymbol(car(l))) return cons(v, l); if (car(car(l)) != car(v)) @@ -175,7 +177,8 @@ inline const list elementToValueGroupValues(const value& v, const list(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(isList(cadr(v))? (value)cdr(v) : cadr(v), (list)cadr(car(l)))); + const value g = isNull(cdr(v))? mklist(car(v), (list)cadr(car(l))) : + 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