chiark / gitweb /
systemctl: don't mangle name when it is a path
[elogind.git] / src / systemctl / systemctl.c
index d1fbb78e634317bda8c3ee059ebccf529a3243be..7d6a6a24f3c29a3ffb55c4f5a6b8e9f009c894c2 100644 (file)
@@ -3594,7 +3594,15 @@ static int mangle_names(char **original_names, char ***mangled_names) {
 
         i = l;
         STRV_FOREACH(name, original_names) {
-                *i = unit_name_mangle(*name);
+
+                /* When enabling units qualified path names are OK,
+                 * too, hence allow them explicitly. */
+
+                if (is_path(*name))
+                        *i = strdup(*name);
+                else
+                        *i = unit_name_mangle(*name);
+
                 if (!*i) {
                         strv_free(l);
                         return log_oom();