diff options
| author | Alexander Larsson <alexl@redhat.com> | 2003-04-10 12:09:00 +0000 | 
|---|---|---|
| committer | Alexander Larsson <alexl@redhat.com> | 2003-04-10 12:09:00 +0000 | 
| commit | e11e4ca82b1e4efb71a18c9c8bf191f902082174 (patch) | |
| tree | 59669c9b234c6791aabbf9e2fe7e1be9267712c5 | |
| parent | e84c3a03b3be9cfc351ca8e0b9b935cca455e672 (diff) | |
2003-04-10  Alexander Larsson  <alexl@redhat.com>
	* bus/.cvsignore:
	* glib/.cvsignore:
	* test/.cvsignore:
	Added files to cvsignore
	* dbus/dbus-message.h:
	* dbus/dbus-message.c: (dbus_message_iter_get_named):
	Make get_named() take two out argument and return a boolean.
	(dbus_message_iter_get_args_valist):
	Update usage of get_named().
	(dbus_message_iter_append_byte):
	Fix typo
	(dbus_message_iter_append_named)
	Fix typo
	(message_iter_test), (check_message_handling_type), (_dbus_message_test):
	More tests.
| -rw-r--r-- | ChangeLog | 19 | ||||
| -rw-r--r-- | bus/.cvsignore | 4 | ||||
| -rw-r--r-- | dbus/dbus-message.c | 100 | ||||
| -rw-r--r-- | dbus/dbus-message.h | 3 | ||||
| -rw-r--r-- | glib/.cvsignore | 2 | ||||
| -rw-r--r-- | test/.cvsignore | 5 | 
6 files changed, 97 insertions, 36 deletions
@@ -1,5 +1,24 @@  2003-04-10  Alexander Larsson  <alexl@redhat.com> +	* bus/.cvsignore: +	* glib/.cvsignore: +	* test/.cvsignore: +	Added files to cvsignore +	 +	* dbus/dbus-message.h: +	* dbus/dbus-message.c: (dbus_message_iter_get_named): +	Make get_named() take two out argument and return a boolean. +	(dbus_message_iter_get_args_valist): +	Update usage of get_named(). +	(dbus_message_iter_append_byte): +	Fix typo +	(dbus_message_iter_append_named) +	Fix typo +	(message_iter_test), (check_message_handling_type), (_dbus_message_test): +	More tests. + +2003-04-10  Alexander Larsson  <alexl@redhat.com> +  	* dbus/dbus-marshal.[ch]:  	Add array_type_pos argument to _dbus_marshal_validate_arg.  	Let you pass a NULL end_pos to _dbus_marshal_validate_type. diff --git a/bus/.cvsignore b/bus/.cvsignore index 2c217808..3770bca0 100644 --- a/bus/.cvsignore +++ b/bus/.cvsignore @@ -9,3 +9,7 @@ dbus-daemon-1  *.bbg  *.da  *.gcov +bus-test +messagebus +session.conf +system.conf diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c index 64cfb864..0044913e 100644 --- a/dbus/dbus-message.c +++ b/dbus/dbus-message.c @@ -1437,8 +1437,7 @@ dbus_message_iter_get_args_valist (DBusMessageIter *iter,  	    data = va_arg (var_args, unsigned char **);  	    len = va_arg (var_args, int *); -	    *name = dbus_message_iter_get_named (iter, data, len); -	    if (*name == NULL) +	    if (!dbus_message_iter_get_named (iter, name, data, len))  	      {                  dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);  		goto out; @@ -1845,19 +1844,21 @@ dbus_message_iter_get_string (DBusMessageIter *iter)   *   * @see dbus_message_iter_get_arg_type   * @param iter the message iter + * @param name return location for the name   * @param value return location for data   * @param len return location for length of data - * @returns the named type name as a string + * @returns TRUE if get succeed   *    */ -char * +dbus_bool_t  dbus_message_iter_get_named (DBusMessageIter   *iter, +			     char             **name,  			     unsigned char    **value,  			     int               *len)  {    DBusMessageRealIter *real = (DBusMessageRealIter *)iter;    int type, pos; -  char *name; +  char *_name;    dbus_message_iter_check (real); @@ -1865,20 +1866,22 @@ dbus_message_iter_get_named (DBusMessageIter   *iter,    _dbus_assert (type == DBUS_TYPE_NAMED); -  name = _dbus_demarshal_string (&real->message->body, real->message->byte_order, -                                 pos, &pos); +  _name = _dbus_demarshal_string (&real->message->body, real->message->byte_order, +				  pos, &pos); -  if (name == NULL) -    return NULL; +  if (_name == NULL) +    return FALSE;    if (!_dbus_demarshal_byte_array (&real->message->body, real->message->byte_order,  				   pos + 1, NULL, value, len))      { -      dbus_free (name); -      return NULL; +      dbus_free (_name); +      return FALSE;      } -  else -    return name; + +  *name = _name; +   +  return TRUE;  }  /** @@ -2520,7 +2523,7 @@ dbus_message_iter_append_byte (DBusMessageIter *iter,    dbus_message_iter_append_check (real); -  if (!dbus_message_iter_append_type (real, DBUS_TYPE_BOOLEAN)) +  if (!dbus_message_iter_append_type (real, DBUS_TYPE_BYTE))      return FALSE;    if (!_dbus_string_append_byte (&real->message->body, value)) @@ -2672,7 +2675,7 @@ dbus_message_iter_append_named (DBusMessageIter      *iter,    if (!dbus_message_iter_append_type (real, DBUS_TYPE_NAMED))      return FALSE; -   if (!_dbus_marshal_string (&real->message->body, real->message->byte_order, data)) +   if (!_dbus_marshal_string (&real->message->body, real->message->byte_order, name))      {        _dbus_string_set_length (&real->message->body, real->pos);        return FALSE; @@ -3979,8 +3982,9 @@ message_iter_test (DBusMessage *message)  {    DBusMessageIter iter, dict, array, array2;    char *str; +  unsigned char *data;    dbus_int32_t *our_int_array; -  int array_len; +  int len;    dbus_message_iter_init (message, &iter); @@ -4029,26 +4033,26 @@ message_iter_test (DBusMessage *message)    if (dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_ARRAY)      _dbus_assert_not_reached ("Argument type not an array"); -  if (dbus_message_iter_get_array_type (&iter) != DBUS_TYPE_UINT32) -    _dbus_assert_not_reached ("Array type not uint32"); +  if (dbus_message_iter_get_array_type (&iter) != DBUS_TYPE_DOUBLE) +    _dbus_assert_not_reached ("Array type not double");    if (!dbus_message_iter_init_array_iterator (&iter, &array, NULL))      _dbus_assert_not_reached ("Array init failed"); -  if (dbus_message_iter_get_arg_type (&array) != DBUS_TYPE_UINT32) -    _dbus_assert_not_reached ("Argument type isn't int32"); +  if (dbus_message_iter_get_arg_type (&array) != DBUS_TYPE_DOUBLE) +    _dbus_assert_not_reached ("Argument type isn't double"); -  if (dbus_message_iter_get_uint32 (&array) != 0x12345678) +  if (dbus_message_iter_get_double (&array) != 1.5)      _dbus_assert_not_reached ("Unsigned integers differ");    if (!dbus_message_iter_next (&array))      _dbus_assert_not_reached ("Reached end of arguments"); -  if (dbus_message_iter_get_arg_type (&array) != DBUS_TYPE_UINT32) -    _dbus_assert_not_reached ("Argument type isn't int32"); +  if (dbus_message_iter_get_arg_type (&array) != DBUS_TYPE_DOUBLE) +    _dbus_assert_not_reached ("Argument type isn't double"); -  if (dbus_message_iter_get_uint32 (&array) != 0x23456781) +  if (dbus_message_iter_get_double (&array) != 2.5)      _dbus_assert_not_reached ("Unsigned integers differ");    if (dbus_message_iter_next (&array)) @@ -4128,10 +4132,10 @@ message_iter_test (DBusMessage *message)    if (!dbus_message_iter_get_int32_array (&array,  					  &our_int_array, -					  &array_len)) +					  &len))      _dbus_assert_not_reached ("couldn't get int32 array"); -  _dbus_assert (array_len == 3); +  _dbus_assert (len == 3);    _dbus_assert (our_int_array[0] == 0x34567812 &&  		our_int_array[1] == 0x45678123 &&  		our_int_array[2] == 0x56781234); @@ -4146,12 +4150,36 @@ message_iter_test (DBusMessage *message)    if (!dbus_message_iter_next (&iter))      _dbus_assert_not_reached ("Reached end of arguments"); -  if (dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_UINT32) -    _dbus_assert_not_reached ("wrong type after dict"); +  if (dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_BYTE) +    { +      _dbus_warn ("type was: %d\n", dbus_message_iter_get_arg_type (&iter)); +      _dbus_assert_not_reached ("wrong type after dict (should be byte)"); +    } -  if (dbus_message_iter_get_uint32 (&iter) != 0xCAFEBABE) +  if (dbus_message_iter_get_byte (&iter) != 0xF0)      _dbus_assert_not_reached ("wrong value after dict"); + +  if (!dbus_message_iter_next (&iter)) +    _dbus_assert_not_reached ("Reached end of arguments"); +   +  if (dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_NIL) +    _dbus_assert_not_reached ("not a nil type"); +   +  if (!dbus_message_iter_next (&iter)) +    _dbus_assert_not_reached ("Reached end of arguments"); +   +  if (dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_NAMED) +    _dbus_assert_not_reached ("wrong type after dict"); + +  if (!dbus_message_iter_get_named (&iter, &str, &data, &len)) +    _dbus_assert_not_reached ("failed to get named"); + +  _dbus_assert (strcmp (str, "named")==0); +  _dbus_assert (len == 5); +  _dbus_assert (strcmp (data, "data")==0); +  dbus_free (str); +  dbus_free (data);    if (dbus_message_iter_next (&iter))      _dbus_assert_not_reached ("Didn't reach end of arguments"); @@ -4201,8 +4229,7 @@ check_message_handling_type (DBusMessageIter *iter,  	unsigned char *data;  	int len; -	name = dbus_message_iter_get_named (iter, &data, &len); -	if (name == NULL) +	if (!dbus_message_iter_get_named (iter, &name, &data, &len))  	  {  	    _dbus_warn ("error reading name from named type\n");  	    return FALSE; @@ -4952,9 +4979,9 @@ _dbus_message_test (const char *test_data_dir)    dbus_message_iter_append_uint32 (&iter, 0xedd1e);    dbus_message_iter_append_double (&iter, 3.14159); -  dbus_message_iter_append_array (&iter, &child_iter, DBUS_TYPE_UINT32); -  dbus_message_iter_append_uint32 (&child_iter, 0x12345678); -  dbus_message_iter_append_uint32 (&child_iter, 0x23456781); +  dbus_message_iter_append_array (&iter, &child_iter, DBUS_TYPE_DOUBLE); +  dbus_message_iter_append_double (&child_iter, 1.5); +  dbus_message_iter_append_double (&child_iter, 2.5);    /* dict */    dbus_message_iter_append_dict (&iter, &child_iter); @@ -4974,9 +5001,12 @@ _dbus_message_test (const char *test_data_dir)    dbus_message_iter_append_int32 (&child_iter3, 0x45678123);    dbus_message_iter_append_int32 (&child_iter3, 0x56781234); -  dbus_message_iter_append_uint32 (&iter, 0xCAFEBABE); +  dbus_message_iter_append_byte (&iter, 0xF0); +  dbus_message_iter_append_nil (&iter); +  dbus_message_iter_append_named (&iter, "named", +				  "data", 5);    message_iter_test (message); diff --git a/dbus/dbus-message.h b/dbus/dbus-message.h index 809dc3ed..0ea03388 100644 --- a/dbus/dbus-message.h +++ b/dbus/dbus-message.h @@ -124,7 +124,8 @@ dbus_uint32_t dbus_message_iter_get_uint32     (DBusMessageIter  *iter);  double        dbus_message_iter_get_double     (DBusMessageIter  *iter);  char *        dbus_message_iter_get_string     (DBusMessageIter  *iter);  char *        dbus_message_iter_get_dict_key   (DBusMessageIter  *iter); -char *        dbus_message_iter_get_named      (DBusMessageIter  *iter, +dbus_bool_t   dbus_message_iter_get_named      (DBusMessageIter  *iter, +						char            **name,  						unsigned char   **value,  						int              *len); diff --git a/glib/.cvsignore b/glib/.cvsignore index 2ab9efa8..f5c30c01 100644 --- a/glib/.cvsignore +++ b/glib/.cvsignore @@ -9,3 +9,5 @@ test-dbus-glib  *.bbg  *.da  *.gcov +test-thread-client +test-thread-server diff --git a/test/.cvsignore b/test/.cvsignore index c3d07582..83e7bf0c 100644 --- a/test/.cvsignore +++ b/test/.cvsignore @@ -15,3 +15,8 @@ unbase64  *.gcov  break-loader  spawn-test +test-exit +test-segfault +test-service +test-sleep-forever +decode-gcov  | 
