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 | |
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).
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/dateTime.cpp | 13 |
2 files changed, 15 insertions, 1 deletions
@@ -7,6 +7,9 @@ VERSION 0.8.1cvs * SMTPTransport.cpp: fixed bug in disconnect() when authentication is not needed (thanks to Benjamin Biron). + * dateTime.cpp: gmtime() and localtime() are reentrant when using + MS C runtime library (MinGW/MSVC). + 2005-11-06 Vincent Richard <[email protected]> * Started version 0.8.1. 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)) |