summaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-02-08 11:22:39 -0500
committerAnthony G. Basile <blueness@gentoo.org>2015-02-08 11:22:39 -0500
commit21212e522478551f3d256619a2efe2b885ad0948 (patch)
treeb132101f9c1d5656596ed083a82c3ac220bce74a /src/shared
parent750c8ded9b84ded5f08c34a3d82ff862da0398d8 (diff)
util: rework strappenda(), and rename it strjoina()
After all it is now much more like strjoin() than strappend(). At the same time, add support for NULL sentinels, even if they are normally not necessary. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/conf-files.c2
-rw-r--r--src/shared/util.h26
2 files changed, 14 insertions, 14 deletions
diff --git a/src/shared/conf-files.c b/src/shared/conf-files.c
index c68f361136..b4c2f7154c 100644
--- a/src/shared/conf-files.c
+++ b/src/shared/conf-files.c
@@ -42,7 +42,7 @@ static int files_add(Hashmap *h, const char *root, const char *path, const char
assert(path);
assert(suffix);
- dirpath = strappenda(root ? root : "", path);
+ dirpath = strjoina(root ? root : "", path);
dir = opendir(dirpath);
if (!dir) {
diff --git a/src/shared/util.h b/src/shared/util.h
index b9f095791d..c5dd6bde0a 100644
--- a/src/shared/util.h
+++ b/src/shared/util.h
@@ -414,19 +414,19 @@ static inline unsigned log2u_round_up(unsigned x) {
int unlink_noerrno(const char *path);
-#define strappenda(a, ...) \
- ({ \
- int _len = strlen(a); \
- unsigned _i; \
- char *_d_, *_p_; \
- const char *_appendees_[] = { __VA_ARGS__ }; \
- for (_i = 0; _i < ELEMENTSOF(_appendees_); _i++) \
- _len += strlen(_appendees_[_i]); \
- _d_ = alloca(_len + 1); \
- _p_ = stpcpy(_d_, a); \
- for (_i = 0; _i < ELEMENTSOF(_appendees_); _i++) \
- _p_ = stpcpy(_p_, _appendees_[_i]); \
- _d_; \
+#define strjoina(a, ...) \
+ ({ \
+ const char *_appendees_[] = { a, __VA_ARGS__ }; \
+ char *_d_, *_p_; \
+ int _len_ = 0; \
+ unsigned _i_; \
+ for (_i_ = 0; _i_ < ELEMENTSOF(_appendees_) && _appendees_[_i_]; _i_++) \
+ _len_ += strlen(_appendees_[_i_]); \
+ _p_ = _d_ = alloca(_len_ + 1); \
+ for (_i_ = 0; _i_ < ELEMENTSOF(_appendees_) && _appendees_[_i_]; _i_++) \
+ _p_ = stpcpy(_p_, _appendees_[_i_]); \
+ *_p_ = 0; \
+ _d_; \
})
#define procfs_file_alloca(pid, field) \