summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2013-11-21 20:05:49 +0100
committerLennart Poettering <lennart@poettering.net>2013-11-21 21:12:36 +0100
commit86b8d289717bad2800342efca0a5023aa8374e9c (patch)
tree60a5bea89f3e22c066485fdb53aac664fa39d2b0
parentebcf1f97de4f6b1580ae55eb56b1a3939fe6b602 (diff)
logind,machined,run: properly invoke StartTransientUnit() bus call
-rw-r--r--src/libsystemd-bus/bus-objects.c13
-rw-r--r--src/login/logind-dbus.c4
-rw-r--r--src/machine/machined-dbus.c4
-rw-r--r--src/run/run.c4
4 files changed, 17 insertions, 8 deletions
diff --git a/src/libsystemd-bus/bus-objects.c b/src/libsystemd-bus/bus-objects.c
index 8413023d6f..06be5ed7d8 100644
--- a/src/libsystemd-bus/bus-objects.c
+++ b/src/libsystemd-bus/bus-objects.c
@@ -292,14 +292,11 @@ static int method_callbacks_run(
return -EINVAL;
if (!streq(strempty(c->vtable->x.method.signature), signature)) {
- r = sd_bus_reply_method_errorf(m,
- SD_BUS_ERROR_INVALID_ARGS,
- "Invalid arguments '%s' to call %s:%s, expecting '%s'.",
- signature, c->interface, c->member, strempty(c->vtable->x.method.signature));
- if (r < 0)
- return r;
-
- return 1;
+ return sd_bus_reply_method_errorf(
+ m,
+ SD_BUS_ERROR_INVALID_ARGS,
+ "Invalid arguments '%s' to call %s.%s(), expecting '%s'.",
+ signature, c->interface, c->member, strempty(c->vtable->x.method.signature));
}
if (c->vtable->x.method.handler) {
diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
index b1c2ef19b1..a52b00181d 100644
--- a/src/login/logind-dbus.c
+++ b/src/login/logind-dbus.c
@@ -2216,6 +2216,10 @@ int manager_start_scope(
if (r < 0)
return r;
+ r = sd_bus_message_append(m, "a(sa(sv))", 0);
+ if (r < 0)
+ return r;
+
r = sd_bus_call(manager->bus, m, 0, error, &reply);
if (r < 0)
return r;
diff --git a/src/machine/machined-dbus.c b/src/machine/machined-dbus.c
index eda582ae83..34cd61d667 100644
--- a/src/machine/machined-dbus.c
+++ b/src/machine/machined-dbus.c
@@ -527,6 +527,10 @@ int manager_start_scope(
if (r < 0)
return r;
+ r = sd_bus_message_append(m, "a(sa(sv))", 0);
+ if (r < 0)
+ return r;
+
r = sd_bus_call(manager->bus, m, 0, error, &reply);
if (r < 0)
return r;
diff --git a/src/run/run.c b/src/run/run.c
index 539db6f494..2e0cd1a6d2 100644
--- a/src/run/run.c
+++ b/src/run/run.c
@@ -237,6 +237,10 @@ static int message_start_transient_unit_send(sd_bus *bus, sd_bus_message *m, sd_
if (r < 0)
return r;
+ r = sd_bus_message_append(m, "a(sa(sv))", 0);
+ if (r < 0)
+ return r;
+
return sd_bus_call(bus, m, 0, error, reply);
}