chiark / gitweb /
port fragment loader to new utility functions
authorLennart Poettering <lennart@poettering.net>
Wed, 27 Jan 2010 21:39:10 +0000 (22:39 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 27 Jan 2010 21:39:10 +0000 (22:39 +0100)
load-fragment.c

index 8bb29b2dcd3c2139c228ba18363604540890787a..2df5c04f779f1c9b6d890bb5076fdcb79beddfb3 100644 (file)
@@ -481,32 +481,6 @@ int config_parse_bindtodevice(
 
 #define FOLLOW_MAX 8
 
-static char *build_path(const char *path, const char *filename) {
-        char *e, *r;
-        size_t k;
-
-        assert(path);
-        assert(filename);
-
-        /* This removes the last component of path and appends
-         * filename, unless the latter is absolute anyway or the
-         * former isn't */
-
-        if (path_is_absolute(filename))
-                return strdup(filename);
-
-        if (!(e = strrchr(path, '/')))
-                return strdup(filename);
-
-        k = strlen(filename);
-        if (!(r = new(char, e-path+1+k+1)))
-                return NULL;
-
-        memcpy(r, path, e-path+1);
-        memcpy(r+(e-path)+1, filename, k+1);
-
-        return r;
-}
 
 static int open_follow(char **filename, FILE **_f, Set *names, char **_id) {
         unsigned c = 0;
@@ -553,7 +527,7 @@ static int open_follow(char **filename, FILE **_f, Set *names, char **_id) {
                 if ((r = readlink_malloc(*filename, &target)) < 0)
                         return r;
 
-                k = build_path(*filename, target);
+                k = file_in_same_dir(*filename, target);
                 free(target);
 
                 if (!k)