chiark / gitweb /
bus: avoid gcc warning about casting a pointer to int of different size
[elogind.git] / src / libsystemd-bus / bus-kernel.c
index 115297dca403608e40f3ea3ab0d0b021c77f51b4..61013ff3c4760adc8dcee21e2d4a689cc0977d54 100644 (file)
@@ -66,7 +66,7 @@ static void append_payload_vec(struct kdbus_msg_item **d, const void *p, size_t
 
         (*d)->size = offsetof(struct kdbus_msg_item, vec) + sizeof(struct kdbus_vec);
         (*d)->type = KDBUS_MSG_PAYLOAD_VEC;
-        (*d)->vec.address = (uint64_t) p;
+        (*d)->vec.address = (intptr_t) p;
         (*d)->vec.size = sz;
 
         *d = (struct kdbus_msg_item *) ((uint8_t*) *d + (*d)->size);
@@ -473,7 +473,12 @@ static int bus_kernel_make_message(sd_bus *bus, struct kdbus_msg *k, sd_bus_mess
                         m->cmdline_length = l;
                 } else if (d->type == KDBUS_MSG_SRC_CGROUP)
                         m->cgroup = d->str;
-                else
+                else if (d->type == KDBUS_MSG_SRC_AUDIT)
+                        m->audit = &d->audit;
+                else if (d->type == KDBUS_MSG_SRC_CAPS) {
+                        m->capability = d->data;
+                        m->capability_size = l;
+                } else
                         log_debug("Got unknown field from kernel %llu", d->type);
         }