From 3134ba4ad0334e0514f36e931fdb2af7b84f6a8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Date: Tue, 11 Dec 2012 19:50:11 +0000 Subject: [PATCH] edbus: Support '(' and '{' in edbus_message_iter_get_and_next() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Patch by: José Roberto de Souza SVN revision: 80689 --- legacy/edbus/src/lib/edbus_message.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/legacy/edbus/src/lib/edbus_message.c b/legacy/edbus/src/lib/edbus_message.c index c36bde29c8..29cc202d2a 100644 --- a/legacy/edbus/src/lib/edbus_message.c +++ b/legacy/edbus/src/lib/edbus_message.c @@ -666,7 +666,12 @@ edbus_message_iter_get_and_next(EDBus_Message_Iter *iter, char signature, ...) type = dbus_message_iter_get_arg_type(&iter->dbus_iterator); if (type == DBUS_TYPE_INVALID) return EINA_FALSE; - EINA_SAFETY_ON_FALSE_RETURN_VAL(type == signature, EINA_FALSE); + if (type != signature) + { + if (signature == '(') signature = 'r'; + else if (signature == '{') signature = 'e'; + EINA_SAFETY_ON_FALSE_RETURN_VAL(type == signature, EINA_FALSE); + } if (dbus_type_is_basic(type)) get_basic(type, &iter->dbus_iterator, &vl);