From 5ffceb2feae45b19a39d545468552ff2b7fb8e6d Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 14 May 2010 02:05:57 +0200 Subject: [PATCH] unit-name: kill redundant slashes in unit_name_from_path() --- unit-name.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/unit-name.c b/unit-name.c index 5d428dd4..c5901cac 100644 --- a/unit-name.c +++ b/unit-name.c @@ -373,16 +373,27 @@ char *unit_name_template(const char *f) { } char *unit_name_from_path(const char *path, const char *suffix) { + char *p, *r; + assert(path); assert(suffix); - if (path[0] == '/') - path++; + if (!(p = strdup(path))) + return NULL; + + path_kill_slashes(p); + + path = p[0] == '/' ? p + 1 : p; - if (path[0] == 0) + if (path[0] == 0) { + free(p); return strappend("-", suffix); + } + + r = unit_name_build_escape(path, NULL, suffix); + free(p); - return unit_name_build_escape(path, NULL, suffix); + return r; } char *unit_name_to_path(const char *name) { -- 2.39.5