From 7f0a55d4325f7df91f91b3b818f61f97d78df14a Mon Sep 17 00:00:00 2001 From: Josh Triplett Date: Wed, 29 Oct 2014 05:02:56 -0700 Subject: Introduce CONF_DIRS_NULSTR helper to define standard conf dirs Several different systemd tools define a nulstr containing a standard series of configuration file directories, in /etc, /run, /usr/local/lib, /usr/lib, and (#ifdef HAVE_SPLIT_USR) /lib. Factor that logic out into a new helper macro, CONF_DIRS_NULSTR. --- src/shared/macro.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/shared') diff --git a/src/shared/macro.h b/src/shared/macro.h index 9ee332c8df..6d4712c30d 100644 --- a/src/shared/macro.h +++ b/src/shared/macro.h @@ -384,6 +384,21 @@ do { \ _found; \ }) +/* Return a nulstr for a standard cascade of configuration directories, + * suitable to pass to conf_files_list_nulstr or config_parse_many. */ +#define CONF_DIRS_NULSTR(n) \ + "/etc/" n ".d\0" \ + "/run/" n ".d\0" \ + "/usr/local/lib/" n ".d\0" \ + "/usr/lib/" n ".d\0" \ + CONF_DIR_SPLIT_USR(n) + +#ifdef HAVE_SPLIT_USR +#define CONF_DIR_SPLIT_USR(n) "/lib/" n ".d\0" +#else +#define CONF_DIR_SPLIT_USR(n) +#endif + /* Define C11 thread_local attribute even on older gcc compiler * version */ #ifndef thread_local -- cgit v1.2.3-54-g00ecf