chiark / gitweb /
notify,firstboot,analyze,run: trim --help output to 80 lines
[elogind.git] / src / core / busname.c
index 838171fe2366db6894a98685e5e9faf928549489..00e56686e5d88dbbe42b9e37c5bac04c4e7fd8b1 100644 (file)
 #include "bus-internal.h"
 #include "bus-util.h"
 #include "service.h"
+#include "kdbus.h"
+#include "bus-policy.h"
 #include "dbus-busname.h"
 #include "busname.h"
-#include "kdbus.h"
 
 static const UnitActiveState state_translation_table[_BUSNAME_STATE_MAX] = {
         [BUSNAME_DEAD] = UNIT_INACTIVE,
@@ -730,7 +731,9 @@ static int busname_peek_message(BusName *n) {
                 .size = sizeof(cmd_recv),
                 .flags = KDBUS_RECV_PEEK,
         };
-        struct kdbus_cmd_free cmd_free = {};
+        struct kdbus_cmd_free cmd_free = {
+                .size = sizeof(cmd_free),
+        };
         const char *comm = NULL;
         struct kdbus_item *d;
         struct kdbus_msg *k;
@@ -767,9 +770,9 @@ static int busname_peek_message(BusName *n) {
          * longer than necessary. */
 
         ps = page_size();
-        start = (cmd_recv.reply.offset / ps) * ps;
-        delta = cmd_recv.reply.offset - start;
-        sz = PAGE_ALIGN(delta + cmd_recv.reply.msg_size);
+        start = (cmd_recv.msg.offset / ps) * ps;
+        delta = cmd_recv.msg.offset - start;
+        sz = PAGE_ALIGN(delta + cmd_recv.msg.msg_size);
 
         p = mmap(NULL, sz, PROT_READ, MAP_SHARED, n->starter_fd, start);
         if (p == MAP_FAILED) {
@@ -801,7 +804,7 @@ finish:
         if (p)
                 (void) munmap(p, sz);
 
-        cmd_free.offset = cmd_recv.reply.offset;
+        cmd_free.offset = cmd_recv.msg.offset;
         if (ioctl(n->starter_fd, KDBUS_CMD_FREE, &cmd_free) < 0)
                 log_unit_warning(UNIT(n)->id, "Failed to free peeked message, ignoring: %m");