projects
/
libjh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
include alloca header
[libjh.git]
/
fs.c
diff --git
a/fs.c
b/fs.c
index
3ecdc69
..
ebe8730
100644
(file)
--- a/
fs.c
+++ b/
fs.c
@@
-3,6
+3,7
@@
HEADER #include <stdio.h>
HEADER #include <sys/types.h>
HEADER #include <dirent.h>
HEADER #include <stdio.h>
HEADER #include <sys/types.h>
HEADER #include <dirent.h>
+#include <sys/stat.h>
#include <errno.h>
#include <errno.h>
@@
-30,6
+31,14
@@
PUBLIC_FN int dir_foreach(char *path, dir_iterator *iter, void *data) {
return feach_res;
}
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; \
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 {code} \
HEADER } \
HEADER end:; \
-HEADER }
\ No newline at end of file
+HEADER }