From fc32dd491cc2ff2e59aafc9bfbc9b67072e2dae5 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Sat, 12 Oct 2019 00:02:07 +0200 Subject: [PATCH] xmlparse.c: Limit declaration of rand_s to mingwrt <5.3.0 --- expat/lib/xmlparse.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c index bb56e59a..d8e1f3de 100644 --- a/expat/lib/xmlparse.c +++ b/expat/lib/xmlparse.c @@ -737,9 +737,11 @@ writeRandomBytes_arc4random(void *target, size_t count) { #ifdef _WIN32 /* Provide declaration of rand_s() for MinGW-32 (not 64, which has it), - as it doesn't declare it in its header up to at least 5.2.2 version - of its runtime package (mingwrt, containing stdlib.h). */ -# if defined(__MINGW32__) && ! defined(__MINGW64_VERSION_MAJOR) + as it didn't declare it in its header prior to version 5.3.0 of its + runtime package (mingwrt, containing stdlib.h). The upstream fix + was introduced at https://osdn.net/projects/mingw/ticket/39658 . */ +# if defined(__MINGW32__) && defined(__MINGW32_VERSION) \ + && __MINGW32_VERSION < 5003000L && ! defined(__MINGW64_VERSION_MAJOR) __declspec(dllimport) int rand_s(unsigned int *); # endif