summaryrefslogtreecommitdiff
path: root/src/basic/conf-files.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2019-06-19 15:20:13 +0200
committerYu Watanabe <watanabe.yu+github@gmail.com>2019-06-21 08:42:55 +0900
commitc6134d3e2f1d1d17b32b6e06556cd0c5429bc78a (patch)
tree14163e4dffb3f2b12dc3fe84e9d676d3521f53cd /src/basic/conf-files.c
parentf66ad46066a9911192f0b49eb06dae7dafc0c983 (diff)
downloadsystemd-c6134d3e2f1d1d17b32b6e06556cd0c5429bc78a.tar.gz
path-util: get rid of prefix_root()
prefix_root() is equivalent to path_join() in almost all ways, hence let's remove it. There are subtle differences though: prefix_root() will try shorten multiple "/" before and after the prefix. path_join() doesn't do that. This means prefix_root() might return a string shorter than both its inputs combined, while path_join() never does that. I like the path_join() semantics better, hence I think dropping prefix_root() is totally OK. In the end the strings generated by both functon should always be identical in terms of path_equal() if not streq(). This leaves prefix_roota() in place. Ideally we'd have path_joina(), but I don't think we can reasonably implement that as a macro. or maybe we can? (if so, sounds like something for a later PR) Also add in a few missing OOM checks
Diffstat (limited to 'src/basic/conf-files.c')
-rw-r--r--src/basic/conf-files.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/basic/conf-files.c b/src/basic/conf-files.c
index 7c85022f08..a0d17e8a0e 100644
--- a/src/basic/conf-files.c
+++ b/src/basic/conf-files.c
@@ -207,7 +207,7 @@ int conf_files_insert(char ***strv, const char *root, char **dirs, const char *p
_cleanup_free_ char *rdir = NULL;
char *p1, *p2;
- rdir = prefix_root(root, *dir);
+ rdir = path_join(root, *dir);
if (!rdir)
return -ENOMEM;
@@ -221,7 +221,7 @@ int conf_files_insert(char ***strv, const char *root, char **dirs, const char *p
if (p2) {
/* Our new entry has higher priority */
- t = prefix_root(root, path);
+ t = path_join(root, path);
if (!t)
return log_oom();
@@ -238,7 +238,7 @@ int conf_files_insert(char ***strv, const char *root, char **dirs, const char *p
}
/* The new file has lower priority than all the existing entries */
- t = prefix_root(root, path);
+ t = path_join(root, path);
if (!t)
return -ENOMEM;
@@ -313,7 +313,7 @@ int conf_files_list_with_replacement(
if (r < 0)
return log_error_errno(r, "Failed to extend config file list: %m");
- p = prefix_root(root, replacement);
+ p = path_join(root, replacement);
if (!p)
return log_oom();
}