diff --git a/src/config_unix.h b/src/config_unix.h index 243df0851f..f76adeba34 100644 --- a/src/config_unix.h +++ b/src/config_unix.h @@ -183,8 +183,6 @@ static inline void *aligned_malloc(size_t size, size_t alignment) } #define aligned_free free -#define platform_mkdir(a) mkdir(a, 0777) - #define INVALID_SOCKET -1 #define CLOSESOCKET close diff --git a/src/config_win32.h b/src/config_win32.h index 2539f20985..cc4fd27dfb 100644 --- a/src/config_win32.h +++ b/src/config_win32.h @@ -207,11 +207,10 @@ void ShowMessage(int level, char *msg); #include #endif -// MinGW-w64 defines some broken macro for strtok_r in pthread.h -#undef strtok_r - +#ifdef WANT_MKDIR #include -#define platform_mkdir _mkdir +#define mkdir(path, mode) _mkdir(path) +#endif #define SHUT_RD SD_RECEIVE #define SHUT_WR SD_SEND diff --git a/src/export.c b/src/export.c index a6b16e41de..73e89729b4 100644 --- a/src/export.c +++ b/src/export.c @@ -35,11 +35,12 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#define WANT_MKDIR #ifdef HAVE_CONFIG_H #include "config.h" +#endif /* HAVE_CONFIG_H */ #include "config_unix.h" #include "config_win32.h" -#endif /* HAVE_CONFIG_H */ #include #include @@ -228,7 +229,7 @@ static char *create_anonymous_dir(const char *prefix) snprintf(num, sizeof num, "-%d", i); strncat(name, num, sizeof name - strlen(name) - 1); } - int ret = platform_mkdir(name); + int ret = mkdir(name, S_IRWXU | S_IRWXG | S_IRWXO); if(ret == -1) { if(errno == EEXIST) { // record exists, try next directory continue; @@ -261,7 +262,7 @@ static bool create_dir(struct exporter *s) if (!s->dir) { s->dir = create_anonymous_dir("."); } else { - int ret = platform_mkdir(s->dir); + int ret = mkdir(s->dir, S_IRWXU | S_IRWXG | S_IRWXO); if(ret == -1) { if(errno != EEXIST) { perror("[Export] Directory creation failed"); diff --git a/src/rtp/ldgm.cpp b/src/rtp/ldgm.cpp index 74e0351c6a..cda0c048c5 100644 --- a/src/rtp/ldgm.cpp +++ b/src/rtp/ldgm.cpp @@ -35,11 +35,12 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#define WANT_MKDIR #ifdef HAVE_CONFIG_H #include "config.h" +#endif /* HAVE_CONFIG_H */ #include "config_unix.h" #include "config_win32.h" -#endif /* HAVE_CONFIG_H */ #include #include @@ -179,7 +180,7 @@ void ldgm::set_params(unsigned int k, unsigned int m, unsigned int c, unsigned i snprintf(path, 256, "/var/tmp/ultragrid-%d/", (int) getuid()); #endif - res = platform_mkdir(path); + res = mkdir(path, S_IRWXU | S_IRWXG | S_IRWXO); if(res != 0) { if(errno != EEXIST) { perror("mkdir");