X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Futil.c;h=31b51ff41314e0f3d4d96e8435f73dc0418ae974;hp=9db817ac5549d666a646280a154893a0fd7eec86;hb=2a33c303e30fd740f740e21632fd06b9e414b0c7;hpb=6cc8db9fac4dcfdcd474ee49790a30a54b83c798 diff --git a/src/util.c b/src/util.c index 9db817ac..31b51ff4 100644 --- a/src/util.c +++ b/src/util.c @@ -21,6 +21,10 @@ * along with wimlib; if not, see http://www.gnu.org/licenses/. */ +#include "config.h" + +#define MINGW_HAS_SECURE_API + #undef _GNU_SOURCE /* Make sure the POSIX-compatible strerror_r() is declared, rather than the GNU * version, which has a different return type. */ @@ -38,6 +42,11 @@ #include /* for getpid() */ +/* Windoze compatibility */ +#ifdef __WIN32__ +# define strerror_r(errnum, buf, bufsize) strerror_s(buf, bufsize, errnum) +#endif + /* True if wimlib is to print an informational message when an error occurs. * This can be turned off by calling wimlib_set_print_errors(false). */ #ifdef ENABLE_ERROR_MESSAGES @@ -54,7 +63,8 @@ static void wimlib_vmsg(const char *tag, const char *format, vfprintf(stderr, format, va); if (perror && errno_save != 0) { char buf[50]; - int res = strerror_r(errno_save, buf, sizeof(buf)); + int res; + res = strerror_r(errno_save, buf, sizeof(buf)); if (res) { snprintf(buf, sizeof(buf), "unknown error (errno=%d)", errno_save);