X-Git-Url: http://git.thejh.net/?p=libjh.git;a=blobdiff_plain;f=fs.c;h=ebe873065b327e8df6ecf73dc5b6cd1cdd699deb;hp=3ecdc699132db94bb330678761ae16782e55478a;hb=a82780d3932b5ec578a95e54cea0945dd7984c3f;hpb=1229433782ff62943a778a8fdbf100bff6007493 diff --git a/fs.c b/fs.c index 3ecdc69..ebe8730 100644 --- a/fs.c +++ b/fs.c @@ -3,6 +3,7 @@ HEADER #include HEADER #include HEADER #include +#include #include @@ -30,6 +31,14 @@ PUBLIC_FN int dir_foreach(char *path, dir_iterator *iter, void *data) { return feach_res; } +PUBLIC_FN int mkdir_maybe(const char *path, mode_t mode) { + int r = mkdir(path, mode); + if (r && errno != EEXIST) { + return r; + } + return 0; +} + HEADER // requires stdio.h HEADER #define FDIR_FOREACH(dir, element_name, code) { \ HEADER struct dirent element_name; \ @@ -41,4 +50,4 @@ HEADER if (__jh_fdir_foreach_res == NULL) goto end; HEADER {code} \ HEADER } \ HEADER end:; \ -HEADER } \ No newline at end of file +HEADER }