X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fbasic%2Ffs-util.c;h=d2d7bb566f1324969997f4060a35d18a8bc9f929;hb=c60d32aa37fc0b10451b0d392d90b3b96eb88ebc;hp=426ad97612167c0445b0c0579d5cb4fdecb8815c;hpb=c733f9b08d9eadc5e671185112567ada81116bdf;p=elogind.git diff --git a/src/basic/fs-util.c b/src/basic/fs-util.c index 426ad9761..d2d7bb566 100644 --- a/src/basic/fs-util.c +++ b/src/basic/fs-util.c @@ -501,6 +501,34 @@ int get_files_in_directory(const char *path, char ***list) { } #if 0 /// UNNEEDED by elogind +int var_tmp(char **ret) { + const char *tmp_dir = NULL; + const char *env_tmp_dir = NULL; + char *c = NULL; + int r; + + assert(ret); + + env_tmp_dir = getenv("TMPDIR"); + if (env_tmp_dir != NULL) { + r = is_dir(env_tmp_dir, true); + if (r < 0 && r != -ENOENT) + return r; + if (r > 0) + tmp_dir = env_tmp_dir; + } + + if (!tmp_dir) + tmp_dir = "/var/tmp"; + + c = strdup(tmp_dir); + if (!c) + return -ENOMEM; + *ret = c; + + return 0; +} + int inotify_add_watch_fd(int fd, int what, uint32_t mask) { char path[strlen("/proc/self/fd/") + DECIMAL_STR_MAX(int) + 1]; int r;