diff options
-rw-r--r-- | util.c | 14 | ||||
-rw-r--r-- | util.h | 1 |
2 files changed, 15 insertions, 0 deletions
@@ -728,6 +728,20 @@ int mkdir_parents(const char *path, mode_t mode) { } } +int mkdir_p(const char *path, mode_t mode) { + int r; + + /* Like mkdir -p */ + + if ((r = mkdir_parents(path, mode)) < 0) + return r; + + if (mkdir(path, mode) < 0) + return -errno; + + return 0; +} + char hexchar(int x) { static const char table[16] = "0123456789abcdef"; @@ -137,6 +137,7 @@ char *truncate_nl(char *s); char *file_in_same_dir(const char *path, const char *filename); int mkdir_parents(const char *path, mode_t mode); +int mkdir_p(const char *path, mode_t mode); int get_process_name(pid_t pid, char **name); |