From da07aca2e4e81d08629b6a89af30d0025d460356 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Wolfgang=20St=C3=B6ggl?= Date: Mon, 27 Nov 2017 15:03:24 +0100 Subject: [PATCH] Fix build errors (MinGW-w64) - rrd.h, fixed build error: rrd.h:66:17: error: conflicting types for 'ssize_t' typedef size_t ssize_t; Remark: MinGW-w64 has ssize_t and off_t - rrd_restore.c, fixed build error: rrd_restore.c:29:17: error: conflicting types for 'ssize_t' typedef size_t ssize_t; - rrd_utils.c, fixed build error: rrd_utils.c:226:10: error: too many arguments to function 'mkdir' if ((mkdir(pathname, mode) != 0) && (errno != EEXIST)) { --- src/rrd.h | 4 +++- src/rrd_restore.c | 4 +++- src/rrd_utils.c | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/rrd.h b/src/rrd.h index 873c5b0d..0fb5f072 100644 --- a/src/rrd.h +++ b/src/rrd.h @@ -63,9 +63,11 @@ extern "C" { #endif #define strtoll _strtoi64 #endif +#ifndef __MINGW32__ /* MinGW-w64 has ssize_t and off_t */ typedef size_t ssize_t; typedef long off_t; -#endif +#endif +#endif #include #include /* for FILE */ diff --git a/src/rrd_restore.c b/src/rrd_restore.c index 9c7f7cfd..1afe753d 100644 --- a/src/rrd_restore.c +++ b/src/rrd_restore.c @@ -26,9 +26,11 @@ #ifndef WIN32 # include /* for off_t */ #else +#ifndef __MINGW32__ /* MinGW-w64 has ssize_t and off_t */ typedef size_t ssize_t; typedef long off_t; -#endif +#endif +#endif #include #if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) diff --git a/src/rrd_utils.c b/src/rrd_utils.c index 12e016eb..f26be8cc 100644 --- a/src/rrd_utils.c +++ b/src/rrd_utils.c @@ -217,7 +217,7 @@ int rrd_mkdir_p(const char *pathname_unsafe, mode_t mode) free(base_dir); /* keep errno as set by mkdir() */ -#ifdef _MSC_VER +#if defined(_MSC_VER) || defined(__MINGW32__) if (0 != mkdir(pathname)) { free(pathname); return -1; -- 2.47.2