]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: Fix -EOPNOTSUPP emergency action error string
authorAaron Plattner <aplattner@nvidia.com>
Wed, 16 Jan 2019 18:26:15 +0000 (10:26 -0800)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 17 Jan 2019 08:17:15 +0000 (09:17 +0100)
The error string for operations that are not supported (e.g. "shutdown" for
user-defined units) should take two arguments, where the first one is the type
of action being defined (i.e. "FailureAction" vs. "SuccessAction") and the
second is the string that was invalid.

Currently, the code prints this:

 $ systemd-run --user --wait -p SuccessAction=poweroff true
 Failed to start transient service unit: EmergencyAction setting invalid for manager type: SuccessAction

Change the format string to instead print:

 $ systemd-run --user --wait -p SuccessAction=poweroff true
 Failed to start transient service unit: SuccessAction setting invalid for manager type: poweroff

src/core/dbus-unit.c

index 385ee8bdca6ca498d6fd278c1320c10ba3d18eb5..17c2003c8fbb50c1763c2becd286916453c317f3 100644 (file)
@@ -1387,7 +1387,7 @@ static int bus_set_transient_emergency_action(
         r = parse_emergency_action(s, system, &v);
         if (r < 0)
                 return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
-                                         r == -EOPNOTSUPP ? "EmergencyAction setting invalid for manager type: %s"
+                                         r == -EOPNOTSUPP ? "%s setting invalid for manager type: %s"
                                                           : "Invalid %s setting: %s",
                                          name, s);