From: Lennart Poettering Date: Fri, 14 May 2010 00:05:57 +0000 (+0200) Subject: unit-name: kill redundant slashes in unit_name_from_path() X-Git-Tag: v1~408 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=5ffceb2feae45b19a39d545468552ff2b7fb8e6d;ds=sidebyside unit-name: kill redundant slashes in unit_name_from_path() --- diff --git a/unit-name.c b/unit-name.c index 5d428dd44..c5901cacf 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) {