chiark / gitweb /
bus: allow reading empty arrays with sd_bus_message_read_array()
[elogind.git] / src / libsystemd-bus / test-bus-marshal.c
index 5e29a7b6a2ac4adeba8d1eced199961dd1fda038..8f36a71d4b5d9032508e5fc365298d2656b7795f 100644 (file)
@@ -92,6 +92,9 @@ int main(int argc, char *argv[]) {
         r = sd_bus_message_append_array(m, 'i', integer_array, sizeof(integer_array));
         assert_se(r >= 0);
 
+        r = sd_bus_message_append_array(m, 'u', NULL, 0);
+        assert_se(r >= 0);
+
         r = bus_message_seal(m, 4711);
         assert_se(r >= 0);
 
@@ -210,6 +213,10 @@ int main(int argc, char *argv[]) {
         assert_se(sz == sizeof(integer_array));
         assert_se(memcmp(integer_array, return_array, sz) == 0);
 
+        r = sd_bus_message_read_array(m, 'u', (const void**) &return_array, &sz);
+        assert_se(r > 0);
+        assert_se(sz == 0);
+
         r = sd_bus_message_peek_type(m, NULL, NULL);
         assert_se(r == 0);