chiark / gitweb /
Remove unnecessary casts in printfs
[elogind.git] / src / libsystemd / sd-bus / bus-kernel.c
index 977a7cda408dde75fac04c047781a37201fb9319..8bab6ad1beb7374b91cc582abe35c99803e9ca6c 100644 (file)
@@ -1305,7 +1305,7 @@ int bus_kernel_create_bus(const char *name, bool world, char **s) {
         make->size += ALIGN8(n->size);
 
         n = KDBUS_ITEM_NEXT(n);
-        sprintf(n->str, "%lu-%s", (unsigned long) getuid(), name);
+        sprintf(n->str, UID_FMT"-%s", getuid(), name);
         n->size = offsetof(struct kdbus_item, str) + strlen(n->str) + 1;
         n->type = KDBUS_ITEM_MAKE_NAME;
         make->size += ALIGN8(n->size);
@@ -1339,9 +1339,13 @@ int bus_kernel_create_bus(const char *name, bool world, char **s) {
         return fd;
 }
 
-static void bus_kernel_translate_policy(const BusNamePolicy *policy, struct kdbus_item *item)
-{
+static void bus_kernel_translate_policy(const BusNamePolicy *policy, struct kdbus_item *item) {
+
+        assert(policy);
+        assert(item);
+
         switch (policy->type) {
+
         case BUSNAME_POLICY_TYPE_USER:
                 item->policy_access.type = KDBUS_POLICY_ACCESS_USER;
                 item->policy_access.id = policy->uid;
@@ -1361,6 +1365,7 @@ static void bus_kernel_translate_policy(const BusNamePolicy *policy, struct kdbu
         }
 
         switch (policy->access) {
+
         case BUSNAME_POLICY_ACCESS_SEE:
                 item->policy_access.access = KDBUS_POLICY_SEE;
                 break;
@@ -1378,7 +1383,7 @@ static void bus_kernel_translate_policy(const BusNamePolicy *policy, struct kdbu
         }
 }
 
-int bus_kernel_create_starter(const char *bus, const char *name, bool accept_fd, BusNamePolicy *policy) {
+int bus_kernel_create_starter(const char *bus, const char *name, bool activating, bool accept_fd, BusNamePolicy *policy) {
         struct kdbus_cmd_hello *hello;
         struct kdbus_item *n;
         size_t policy_cnt = 0;
@@ -1391,7 +1396,7 @@ int bus_kernel_create_starter(const char *bus, const char *name, bool accept_fd,
         assert(name);
 
         p = alloca(strlen("/dev/kdbus/") + DECIMAL_STR_MAX(uid_t) + 1 + strlen(bus) + strlen("/bus") + 1);
-        sprintf(p, "/dev/kdbus/%lu-%s/bus", (unsigned long) getuid(), bus);
+        sprintf(p, "/dev/kdbus/"UID_FMT"-%s/bus", getuid(), bus);
 
         fd = open(p, O_RDWR|O_NOCTTY|O_CLOEXEC);
         if (fd < 0)
@@ -1420,7 +1425,9 @@ int bus_kernel_create_starter(const char *bus, const char *name, bool accept_fd,
         }
 
         hello->size = size;
-        hello->conn_flags = KDBUS_HELLO_ACTIVATOR | (accept_fd ? KDBUS_HELLO_ACCEPT_FD : 0);
+        hello->conn_flags =
+                (activating ? KDBUS_HELLO_ACTIVATOR : KDBUS_HELLO_POLICY_HOLDER) |
+                (accept_fd ? KDBUS_HELLO_ACCEPT_FD : 0);
         hello->pool_size = KDBUS_POOL_SIZE;
         hello->attach_flags = _KDBUS_ATTACH_ALL;
 
@@ -1504,7 +1511,7 @@ int bus_kernel_create_monitor(const char *bus) {
         assert(bus);
 
         p = alloca(strlen("/dev/kdbus/") + DECIMAL_STR_MAX(uid_t) + 1 + strlen(bus) + strlen("/bus") + 1);
-        sprintf(p, "/dev/kdbus/%lu-%s/bus", (unsigned long) getuid(), bus);
+        sprintf(p, "/dev/kdbus/"UID_FMT"-%s/bus", getuid(), bus);
 
         fd = open(p, O_RDWR|O_NOCTTY|O_CLOEXEC);
         if (fd < 0)