diff options
author | Lennart Poettering <lennart@poettering.net> | 2016-04-08 18:54:05 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2016-04-12 13:43:33 +0200 |
commit | d2120590ffdcc041f098667355ca3db5161d25d9 (patch) | |
tree | 9e5b921b5023e7eb40f7812161f285c49da45039 /src/basic/rm-rf.h | |
parent | 815b09d39b74a9ece31b7d7ef45f8f00784b8d8b (diff) |
tests: override XDG_RUNTIME_DIR where we use the user runtime dir
We don#t really support systems where XDG_RUNTIME_DIR is not supported for
systemd --user. Hence, let's always set our own XDG_RUNTIME_DIR for tests that
involve systemd --user, so that we know it is set, and that it doesn't polute
the user's actual runtime dir.
Diffstat (limited to 'src/basic/rm-rf.h')
-rw-r--r-- | src/basic/rm-rf.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/basic/rm-rf.h b/src/basic/rm-rf.h index 6d03268919..40b5b527d5 100644 --- a/src/basic/rm-rf.h +++ b/src/basic/rm-rf.h @@ -30,3 +30,12 @@ typedef enum RemoveFlags { int rm_rf_children(int fd, RemoveFlags flags, struct stat *root_dev); int rm_rf(const char *path, RemoveFlags flags); + +/* Useful for usage with _cleanup_(), destroys a directory and frees the pointer */ +static inline void rm_rf_and_free(char *p) { + if (!p) + return; + (void) rm_rf(p, REMOVE_ROOT); + free(p); +} +DEFINE_TRIVIAL_CLEANUP_FUNC(char*, rm_rf_and_free); |