]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: revert "core: resolve specifier in config_parse_exec()" 2646/head
authorEvgeny Vereshchagin <evvers@ya.ru>
Wed, 17 Feb 2016 22:32:36 +0000 (22:32 +0000)
committerEvgeny Vereshchagin <evvers@ya.ru>
Thu, 18 Feb 2016 11:55:53 +0000 (11:55 +0000)
This reverts commit cb48dfca6a8bc15d9081651001a16bf51e03838a.

Exec*-settings resolve specifiers twice:
%%U -> config_parse_exec [cb48dfca6a8] -> %U -> service_spawn -> 0

Fixes #2637

src/core/load-fragment.c

index b31bf83f47f38a5a53fe3c16c65cab3bdf0aac95..4a65d174b8b8bc4486aa926c138062fee5d1d70d 100644 (file)
@@ -574,9 +574,7 @@ int config_parse_exec(
                 void *data,
                 void *userdata) {
 
-        _cleanup_free_ char *cmd = NULL;
         ExecCommand **e = data;
-        Unit *u = userdata;
         const char *p;
         bool semicolon;
         int r;
@@ -585,7 +583,6 @@ int config_parse_exec(
         assert(lvalue);
         assert(rvalue);
         assert(e);
-        assert(u);
 
         e += ltype;
         rvalue += strspn(rvalue, WHITESPACE);
@@ -596,13 +593,7 @@ int config_parse_exec(
                 return 0;
         }
 
-        r = unit_full_printf(u, rvalue, &cmd);
-        if (r < 0) {
-                log_syntax(unit, LOG_ERR, filename, line, r, "Failed to resolve unit specifiers on %s, ignoring: %m", rvalue);
-                return 0;
-        }
-
-        p = cmd;
+        p = rvalue;
         do {
                 _cleanup_free_ char *path = NULL, *firstword = NULL;
                 bool separate_argv0 = false, ignore = false;