summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@codefactory.se>2003-02-21 18:45:08 +0000
committerAnders Carlsson <andersca@codefactory.se>2003-02-21 18:45:08 +0000
commitfdb3ecc33366edc475e684baa8adb3c933563f0d (patch)
tree6b9e29efd63ba1e673f89f66240fcdbbaa6ede8b
parentbabdabd40c98a1a5db93e5315bf0b2609e73f426 (diff)
2003-02-21 Anders Carlsson <andersca@codefactory.se>
* dbus/dbus-message.c: (dbus_message_append_nil), (dbus_message_append_int32), (dbus_message_append_uint32), (dbus_message_append_double), (dbus_message_append_string), (dbus_message_append_int32_array), (dbus_message_append_uint32_array), (dbus_message_append_double_array), (dbus_message_append_byte_array), (dbus_message_append_string_array): Fix all out-of-memory handling in these functions.
-rw-r--r--ChangeLog18
-rw-r--r--dbus/dbus-message.c116
2 files changed, 66 insertions, 68 deletions
diff --git a/ChangeLog b/ChangeLog
index 34949aad..49db62a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,22 @@
2003-02-21 Anders Carlsson <andersca@codefactory.se>
+ * dbus/dbus-message.c: (dbus_message_append_nil),
+ (dbus_message_append_int32), (dbus_message_append_uint32),
+ (dbus_message_append_double), (dbus_message_append_string),
+ (dbus_message_append_int32_array),
+ (dbus_message_append_uint32_array),
+ (dbus_message_append_double_array),
+ (dbus_message_append_byte_array),
+ (dbus_message_append_string_array):
+ Fix all out-of-memory handling in these functions.
+
+2003-02-21 Anders Carlsson <andersca@codefactory.se>
+
+ * dbus/dbus-message.c: (dbus_message_append_nil):
+ Fix a silly.
+
+2003-02-21 Anders Carlsson <andersca@codefactory.se>
+
* dbus/dbus-message.c: (dbus_message_append_args_valist),
(dbus_message_append_nil), (dbus_message_append_int32_array),
(dbus_message_append_uint32_array),
@@ -11,6 +28,7 @@
(dbus_message_iter_get_double_array),
(dbus_message_iter_get_byte_array),
(dbus_message_iter_get_string_array):
+
* dbus/dbus-message.h:
Add functions for appending and getting arrays.
diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c
index 54573fff..0c6b72d1 100644
--- a/dbus/dbus-message.c
+++ b/dbus/dbus-message.c
@@ -1151,12 +1151,9 @@ dbus_message_append_nil (DBusMessage *message)
_dbus_assert (!message->locked);
if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_NIL))
- {
- _dbus_string_shorten (&message->body, 1);
return FALSE;
- }
-
- return TRUE;
+ else
+ return TRUE;
}
/**
@@ -1173,13 +1170,15 @@ dbus_message_append_int32 (DBusMessage *message,
_dbus_assert (!message->locked);
if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_INT32))
+ return FALSE;
+
+ if (!_dbus_marshal_int32 (&message->body, message->byte_order, value))
{
_dbus_string_shorten (&message->body, 1);
return FALSE;
}
-
- return _dbus_marshal_int32 (&message->body,
- message->byte_order, value);
+
+ return TRUE;
}
/**
@@ -1196,13 +1195,15 @@ dbus_message_append_uint32 (DBusMessage *message,
_dbus_assert (!message->locked);
if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_UINT32))
+ return FALSE;
+
+ if (!_dbus_marshal_uint32 (&message->body, message->byte_order, value))
{
_dbus_string_shorten (&message->body, 1);
return FALSE;
}
-
- return _dbus_marshal_uint32 (&message->body,
- message->byte_order, value);
+
+ return TRUE;
}
/**
@@ -1219,13 +1220,15 @@ dbus_message_append_double (DBusMessage *message,
_dbus_assert (!message->locked);
if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_DOUBLE))
+ return FALSE;
+
+ if (!_dbus_marshal_double (&message->body, message->byte_order, value))
{
_dbus_string_shorten (&message->body, 1);
return FALSE;
}
- return _dbus_marshal_double (&message->body,
- message->byte_order, value);
+ return TRUE;
}
/**
@@ -1242,13 +1245,15 @@ dbus_message_append_string (DBusMessage *message,
_dbus_assert (!message->locked);
if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_STRING))
+ return FALSE;
+
+ if (!_dbus_marshal_string (&message->body, message->byte_order, value))
{
_dbus_string_shorten (&message->body, 1);
- return FALSE;
+ return FALSE;
}
-
- return _dbus_marshal_string (&message->body,
- message->byte_order, value);
+
+ return TRUE;
}
/**
@@ -1264,23 +1269,18 @@ dbus_message_append_int32_array (DBusMessage *message,
const dbus_int32_t *value,
int len)
{
- int old_len;
-
_dbus_assert (!message->locked);
- old_len = _dbus_string_get_length (&message->body);
-
if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_INT32_ARRAY))
- goto enomem;
+ return FALSE;
if (!_dbus_marshal_int32_array (&message->body, message->byte_order,
value, len))
- goto enomem;
-
- return TRUE;
+ {
+ _dbus_string_shorten (&message->body, 1);
+ return FALSE;
+ }
- enomem:
- _dbus_string_set_length (&message->body, old_len);
return TRUE;
}
@@ -1297,23 +1297,18 @@ dbus_message_append_uint32_array (DBusMessage *message,
const dbus_uint32_t *value,
int len)
{
- int old_len;
-
_dbus_assert (!message->locked);
- old_len = _dbus_string_get_length (&message->body);
-
if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_UINT32_ARRAY))
- goto enomem;
+ return FALSE;
if (!_dbus_marshal_uint32_array (&message->body, message->byte_order,
value, len))
- goto enomem;
-
- return TRUE;
+ {
+ _dbus_string_shorten (&message->body, 1);
+ return FALSE;
+ }
- enomem:
- _dbus_string_set_length (&message->body, old_len);
return TRUE;
}
@@ -1330,24 +1325,19 @@ dbus_message_append_double_array (DBusMessage *message,
const double *value,
int len)
{
- int old_len;
-
_dbus_assert (!message->locked);
- old_len = _dbus_string_get_length (&message->body);
-
if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_DOUBLE_ARRAY))
- goto enomem;
+ return FALSE;
if (!_dbus_marshal_double_array (&message->body, message->byte_order,
value, len))
- goto enomem;
+ {
+ _dbus_string_shorten (&message->body, 1);
+ return FALSE;
+ }
return TRUE;
-
- enomem:
- _dbus_string_set_length (&message->body, old_len);
- return TRUE;
}
/**
@@ -1363,23 +1353,18 @@ dbus_message_append_byte_array (DBusMessage *message,
unsigned const char *value,
int len)
{
- int old_len;
-
_dbus_assert (!message->locked);
- old_len = _dbus_string_get_length (&message->body);
-
if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_BYTE_ARRAY))
- goto enomem;
+ return FALSE;
if (!_dbus_marshal_byte_array (&message->body, message->byte_order, value, len))
- goto enomem;
-
+ {
+ _dbus_string_shorten (&message->body, 1);
+ return FALSE;
+ }
+
return TRUE;
-
- enomem:
- _dbus_string_set_length (&message->body, old_len);
- return FALSE;
}
/**
@@ -1395,24 +1380,19 @@ dbus_message_append_string_array (DBusMessage *message,
const char **value,
int len)
{
- int old_len;
-
_dbus_assert (!message->locked);
- old_len = _dbus_string_get_length (&message->body);
-
if (!_dbus_string_append_byte (&message->body, DBUS_TYPE_STRING_ARRAY))
- goto enomem;
+ return FALSE;
if (!_dbus_marshal_string_array (&message->body, message->byte_order,
value, len))
- goto enomem;
+ {
+ _dbus_string_shorten (&message->body, 1);
+ return FALSE;
+ }
return TRUE;
-
- enomem:
- _dbus_string_set_length (&message->body, old_len);
- return FALSE;
}
/**