summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-marshal.c
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@codefactory.se>2003-01-31 13:36:36 +0000
committerAnders Carlsson <andersca@codefactory.se>2003-01-31 13:36:36 +0000
commit8ab042b9571dda44a5afcfe50e0d29dc9b58ecae (patch)
tree491e1fd75d970f09e6b939d17aa293432a603dd2 /dbus/dbus-marshal.c
parent482dab2076282ef1195564fa60dd25c1ffb77682 (diff)
2003-01-31 Anders Carlsson <andersca@codefactory.se>
* dbus/dbus-address.c: (dbus_address_entry_free): Free key and value lists. * dbus/dbus-internals.c: (_dbus_type_to_string): Add the types we didn't have. * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg): Add NIL types. * dbus/dbus-message.c: (dbus_message_set_sender): Remove todo about being able to set sender to NULL. (dbus_message_set_is_error_reply), (dbus_message_get_is_error_reply): * dbus/dbus-message.h: New functions. * dbus/dbus-protocol.h: Add error reply flag. * test/data/valid-messages/opposite-endian.message: Add NIL type to test.
Diffstat (limited to 'dbus/dbus-marshal.c')
-rw-r--r--dbus/dbus-marshal.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/dbus/dbus-marshal.c b/dbus/dbus-marshal.c
index efdc7efb..a31e0f49 100644
--- a/dbus/dbus-marshal.c
+++ b/dbus/dbus-marshal.c
@@ -875,6 +875,9 @@ _dbus_marshal_get_arg_end_pos (const DBusString *str,
return FALSE;
break;
+ case DBUS_TYPE_NIL:
+ *end_pos = pos + 1;
+
case DBUS_TYPE_INT32:
*end_pos = _DBUS_ALIGN_VALUE (pos + 1, sizeof (dbus_int32_t)) + sizeof (dbus_int32_t);
@@ -989,6 +992,7 @@ _dbus_marshal_get_arg_end_pos (const DBusString *str,
* @param str the string
* @param byte_order the byte order
* @param pos the unaligned string position (snap to next aligned)
+ * @param new_pos return location for new position.
*/
static int
demarshal_and_validate_len (const DBusString *str,
@@ -1095,6 +1099,10 @@ _dbus_marshal_validate_arg (const DBusString *str,
case DBUS_TYPE_INVALID:
return FALSE;
break;
+
+ case DBUS_TYPE_NIL:
+ *end_pos = pos + 1;
+ break;
case DBUS_TYPE_INT32:
case DBUS_TYPE_UINT32: