X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Fpath-util.c;h=dd12d3d63409654fb446028ba92a0860bc83e4c1;hb=f274ece0f76b5709408821e317e87aef76123db6;hp=b51a68d6d2ff7c47d1949cdbc3f2497f064dc9f1;hpb=fa125f4e44aaf102548ab464e3ea457214fd56e0;p=elogind.git diff --git a/src/shared/path-util.c b/src/shared/path-util.c index b51a68d6d..dd12d3d63 100644 --- a/src/shared/path-util.c +++ b/src/shared/path-util.c @@ -181,6 +181,7 @@ char **path_strv_canonicalize(char **l) { t = path_make_absolute_cwd(*s); free(*s); + *s = NULL; if (!t) { enomem = true; @@ -264,12 +265,12 @@ char *path_kill_slashes(char *path) { return path; } -bool path_startswith(const char *path, const char *prefix) { +char* path_startswith(const char *path, const char *prefix) { assert(path); assert(prefix); if ((path[0] == '/') != (prefix[0] == '/')) - return false; + return NULL; for (;;) { size_t a, b; @@ -278,19 +279,19 @@ bool path_startswith(const char *path, const char *prefix) { prefix += strspn(prefix, "/"); if (*prefix == 0) - return true; + return (char*) path; if (*path == 0) - return false; + return NULL; a = strcspn(path, "/"); b = strcspn(prefix, "/"); if (a != b) - return false; + return NULL; if (memcmp(path, prefix, a) != 0) - return false; + return NULL; path += a; prefix += b;