dbus/test/glib test-dbus-glib.c,1.34,1.35

Robert McQueen robot101 at freedesktop.org
Wed Feb 15 16:43:44 PST 2006


Update of /cvs/dbus/dbus/test/glib
In directory gabe:/tmp/cvs-serv3873/test/glib

Modified Files:
	test-dbus-glib.c 
Log Message:
2006-02-16  Robert McQueen  <robot101 at debian.org>

	* dbus/dbus-message.c (dbus_message_iter_get_fixed_array):
	Patch from Rob Taylor <rob.taylor at collabora.co.uk> to correct a bogus
	assertion that the next element to read from the iter is fixed in
	size. This is not the case when you are at the end of the iter,
	because the next element type is INVALID.

	* dbus/dbus-string.c (_dbus_string_init_const_len): Correct a
	a bogus assert which means that you may not initialise a 0-length
	string unless you provide a non-NULL pointer. This prevented
	you from marshalling messages containing zero-length arrays in
	some cases.

	* glib/dbus-gvalue.c (demarshal_collection_array): Another patch
	from Rob to correct bogus asserts when trying to demarshal an
	array and get_fixed_array got you 0 elements. Append nothing to
	the GArray in this case.

	* test/glib/test-dbus-glib.c: Add a test case for round-tripping
	an empty array via the glib bindings. Without all of the above
	patches, this new test fails.

Index: test-dbus-glib.c
===================================================================
RCS file: /cvs/dbus/dbus/test/glib/test-dbus-glib.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- test-dbus-glib.c	27 Jan 2006 15:40:36 -0000	1.34
+++ test-dbus-glib.c	16 Feb 2006 00:43:41 -0000	1.35
@@ -761,6 +761,21 @@
 
   {
     GArray *array;
+    guint32 arraylen;
+
+    array = g_array_new (FALSE, TRUE, sizeof (guint32));
+
+    arraylen = 0;
+    g_print ("Calling (wrapped) zero-length recursive1\n");
+    if (!org_freedesktop_DBus_Tests_MyObject_recursive1 (proxy, array,
+							 &arraylen, &error))
+      lose_gerror ("Failed to complete (wrapped) zero-length recursive1 call", error);
+    if (arraylen != 0)
+      lose ("(wrapped) zero-length recursive1 call returned invalid length %u", arraylen);
+  }
+
+  {
+    GArray *array;
     guint32 val;
     guint32 arraylen;
 



More information about the dbus-commit mailing list