journalctl: Make temporary files directory configurable (#3574)
journalctl: Use env variable TMPDIR to save temporary files
This commit is contained in:
committed by
Lennart Poettering
parent
30b42a9a36
commit
34a8f0811c
@@ -38,6 +38,7 @@
|
||||
#include "mkdir.h"
|
||||
#include "parse-util.h"
|
||||
#include "path-util.h"
|
||||
#include "stat-util.h"
|
||||
#include "stdio-util.h"
|
||||
#include "string-util.h"
|
||||
#include "strv.h"
|
||||
@@ -495,6 +496,34 @@ int get_files_in_directory(const char *path, char ***list) {
|
||||
return n;
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
@@ -61,6 +61,8 @@ int mkfifo_atomic(const char *path, mode_t mode);
|
||||
|
||||
int get_files_in_directory(const char *path, char ***list);
|
||||
|
||||
int var_tmp(char **ret);
|
||||
|
||||
#define INOTIFY_EVENT_MAX (sizeof(struct inotify_event) + NAME_MAX + 1)
|
||||
|
||||
#define FOREACH_INOTIFY_EVENT(e, buffer, sz) \
|
||||
|
||||
Reference in New Issue
Block a user