chiark / gitweb /
bus: driverd; add missing format string parameter
[elogind.git] / src / bus-driverd / bus-driverd.c
index 8dd3418f01ddbdd5be24f3844144cddfc58290ea..44172c4ed6a211c38eab21a7b32ed281151b0227 100644 (file)
@@ -346,7 +346,7 @@ static int driver_remove_match(sd_bus *bus, sd_bus_message *message, void *userd
 
         m = hashmap_get(c->matches, normalized);
         if (!m) {
-                r = sd_bus_error_setf(error, SD_BUS_ERROR_MATCH_RULE_NOT_FOUND, "Match rule \"%s\" not found.");
+                r = sd_bus_error_setf(error, SD_BUS_ERROR_MATCH_RULE_NOT_FOUND, "Match rule \"%s\" not found.", normalized);
                 goto finish;
         }
 
@@ -537,7 +537,7 @@ static int driver_list_queued_owners(sd_bus *bus, sd_bus_message *m, void *userd
                 if (!streq(name->name, arg0))
                         continue;
 
-                if (asprintf(&n, ":1.%llu", (unsigned long long) name->id) < 0)
+                if (asprintf(&n, ":1.%llu", (unsigned long long) name->owner_id) < 0)
                         return -ENOMEM;
 
                 r = strv_push(&owners, n);
@@ -599,7 +599,7 @@ static int driver_request_name(sd_bus *bus, sd_bus_message *m, void *userdata, s
         if (r < 0)
                 return r;
 
-        n->id = id;
+        n->owner_id = id;
 
         r = ioctl(bus->input_fd, KDBUS_CMD_NAME_ACQUIRE, n);
         if (r < 0) {
@@ -642,7 +642,7 @@ static int driver_release_name(sd_bus *bus, sd_bus_message *m, void *userdata, s
         if (r < 0)
                 return r;
 
-        n->id = id;
+        n->owner_id = id;
 
         r = ioctl(bus->input_fd, KDBUS_CMD_NAME_RELEASE, n);
         if (r < 0) {
@@ -694,8 +694,8 @@ static int driver_start_service_by_name(sd_bus *bus, sd_bus_message *m, void *us
         if (r < 0)
                 return r;
 
-        if (!t[0] || t[1])
-                return -EIO;
+        if (!t || !t[0] || t[1])
+                return sd_bus_error_setf(error, SD_BUS_ERROR_SERVICE_UNKNOWN, "Bus name %s not found.", name);
 
         r = sd_bus_call_method(
                         bus,
@@ -767,7 +767,7 @@ static int connect_bus(Context *c) {
 
         r = sd_bus_request_name(c->bus, "org.freedesktop.DBus", 0);
         if (r < 0) {
-                log_error("Unable to request name: %s\n", strerror(-r));
+                log_error("Unable to request name: %s", strerror(-r));
                 return r;
         }