Windows compatibility fixes

VS2013 has trouble with relative include paths for apps/openssl, so move
certhash_win/apps_win.c back to apps/openssl.

gmtime_r on mingw64 fails with negative time_t, override

gmtime_s fails all of the time unit tests, override

SHUT_RD/WR are defined in newer mingw64 headers, check before overriding
This commit is contained in:
Brent Cook
2015-10-18 09:28:10 -05:00
parent c8918dd0be
commit 0197a58969
9 changed files with 34 additions and 13 deletions

View File

@@ -188,6 +188,18 @@ static int __secs_to_tm(long long t, struct tm *tm)
return 0;
}
#ifdef _WIN32
struct tm *__gmtime_r(const time_t *t, struct tm *tm)
{
if (__secs_to_tm(*t, tm) < 0) {
errno = EOVERFLOW;
return 0;
}
tm->tm_isdst = 0;
return tm;
}
#endif
time_t timegm(struct tm *tm)
{
struct tm new;