X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=util.c;h=7c3935353ce36df0e01df61582510b0033cd48f5;hp=f752a248ec6e014a5f662d08450a79187f26ec10;hb=0301abf48ed3be921c33d409c73b554435cf6378;hpb=87f0e418cf2c58b3201d06a60e3696ec672d2662 diff --git a/util.c b/util.c index f752a248e..7c3935353 100644 --- a/util.c +++ b/util.c @@ -443,3 +443,28 @@ char *file_name_from_path(const char *p) { return (char*) p; } + +bool path_is_absolute(const char *p) { + assert(p); + + return p[0] == '/'; +} + +bool is_path(const char *p) { + + return !!strchr(p, '/'); +} + +char *path_make_absolute(const char *p, const char *prefix) { + char *r; + + assert(p); + + if (path_is_absolute(p) || !prefix) + return strdup(p); + + if (asprintf(&r, "%s/%s", prefix, p) < 0) + return NULL; + + return r; +}