diff options
author | Havoc Pennington <hp@redhat.com> | 2007-06-12 19:39:47 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2007-06-12 19:39:47 +0000 |
commit | 15a610bc4c87d389463112ef0ad4fde195af83ca (patch) | |
tree | 94e13a77a06b749498a6d74c627f0e0cc1b95976 /dbus/dbus-message.c | |
parent | 1680f1fb403db648c1a9ebc45873df44dcfde6ef (diff) |
2007-06-12 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message.c (dbus_message_iter_open_container): improve
the checks/warnings for contained_signature a bit
Diffstat (limited to 'dbus/dbus-message.c')
-rw-r--r-- | dbus/dbus-message.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c index a98a0f8c..a64888ef 100644 --- a/dbus/dbus-message.c +++ b/dbus/dbus-message.c @@ -2350,16 +2350,19 @@ dbus_message_iter_open_container (DBusMessageIter *iter, contained_signature == NULL) || (type == DBUS_TYPE_DICT_ENTRY && contained_signature == NULL) || - contained_signature != NULL, FALSE); + (type == DBUS_TYPE_VARIANT && + contained_signature != NULL) || + (type == DBUS_TYPE_ARRAY && + contained_signature != NULL), FALSE); -#if 0 - /* FIXME this would fail if the contained_signature is a dict entry, - * since dict entries are invalid signatures standalone (they must be in + /* this would fail if the contained_signature is a dict entry, since + * dict entries are invalid signatures standalone (they must be in * an array) */ - _dbus_return_val_if_fail (contained_signature == NULL || - _dbus_check_is_valid_signature (contained_signature)); -#endif + _dbus_return_val_if_fail (type == DBUS_TYPE_DICT_ENTRY || + (contained_signature == NULL || + _dbus_check_is_valid_signature (contained_signature)), + FALSE); if (!_dbus_message_iter_open_signature (real)) return FALSE; |