chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
systemctl: allow globbing in commands which take multiple unit names
[elogind.git]
/
src
/
run
/
run.c
diff --git
a/src/run/run.c
b/src/run/run.c
index 539db6f4942776d205fea291b04014d18511972e..ef2015fe3c3e753d7cc5f622c63b164550c43819 100644
(file)
--- a/
src/run/run.c
+++ b/
src/run/run.c
@@
-208,7
+208,7
@@
static int message_start_transient_unit_new(sd_bus *bus, const char *name, sd_bu
if (!isempty(arg_slice)) {
_cleanup_free_ char *slice;
if (!isempty(arg_slice)) {
_cleanup_free_ char *slice;
- slice = unit_name_mangle_with_suffix(arg_slice, ".slice");
+ slice = unit_name_mangle_with_suffix(arg_slice,
false,
".slice");
if (!slice)
return -ENOMEM;
if (!slice)
return -ENOMEM;
@@
-237,6
+237,10
@@
static int message_start_transient_unit_send(sd_bus *bus, sd_bus_message *m, sd_
if (r < 0)
return r;
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);
}
return sd_bus_call(bus, m, 0, error, reply);
}
@@
-251,7
+255,7
@@
static int start_transient_service(
int r;
if (arg_unit)
int r;
if (arg_unit)
- name = unit_name_mangle_with_suffix(arg_unit, ".service");
+ name = unit_name_mangle_with_suffix(arg_unit,
false,
".service");
else
asprintf(&name, "run-%lu.service", (unsigned long) getpid());
if (!name)
else
asprintf(&name, "run-%lu.service", (unsigned long) getpid());
if (!name)
@@
-338,7
+342,7
@@
static int start_transient_scope(
assert(bus);
if (arg_unit)
assert(bus);
if (arg_unit)
- name = unit_name_mangle_with_suffix(arg_unit, ".scope");
+ name = unit_name_mangle_with_suffix(arg_unit,
false,
".scope");
else
asprintf(&name, "run-%lu.scope", (unsigned long) getpid());
if (!name)
else
asprintf(&name, "run-%lu.scope", (unsigned long) getpid());
if (!name)