diff options
author | Vincent Richard <[email protected]> | 2005-11-14 12:07:11 +0000 |
---|---|---|
committer | Vincent Richard <[email protected]> | 2005-11-14 12:07:11 +0000 |
commit | 1b38cbeb3f2a171c1edfb91692932ec70153a342 (patch) | |
tree | 2d47174531624d1cec84b2b73ec252b464ff12d6 /src/dateTime.cpp | |
parent | Fixed bug in disconnect() when authentication is not needed (thanks to Benjam... (diff) | |
download | vmime-1b38cbeb3f2a171c1edfb91692932ec70153a342.tar.gz vmime-1b38cbeb3f2a171c1edfb91692932ec70153a342.zip |
gmtime() and localtime() are reentrant when using MS C runtime library (MinGW/MSVC).
Diffstat (limited to 'src/dateTime.cpp')
-rw-r--r-- | src/dateTime.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/dateTime.cpp b/src/dateTime.cpp index ea965805..8b2e33a2 100644 --- a/src/dateTime.cpp +++ b/src/dateTime.cpp @@ -648,7 +648,18 @@ datetime::datetime(const datetime& d) datetime::datetime(const time_t t, const int zone) { -#ifdef _REENTRANT +#if defined(_MSC_VER) || defined(__MINGW32__) + // These functions are reentrant in MS C runtime library + struct tm* gtm = gmtime(&t); + struct tm* ltm = localtime(&t); + + struct tm tms; + + if (gtm) + tms = *gtm; + else if (ltm) + tms = *ltm; +#elif defined(_REENTRANT) struct tm tms; if (!gmtime_r(&t, &tms)) |