Use secure versions of time/string functions on Windows.

This commit is contained in:
Vincent Richard 2013-02-26 17:51:44 +01:00
parent 5da73d4efc
commit 0d6aef8491
2 changed files with 4 additions and 9 deletions

View File

@ -655,17 +655,12 @@ datetime::datetime(const datetime& d)
datetime::datetime(const time_t t, const int zone)
{
#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);
#if VMIME_HAVE_LOCALTIME_S
struct tm tms;
if (gtm)
tms = *gtm;
else if (ltm)
tms = *ltm;
if (!gmtime_r(&tms, &t))
localtime_r(&tms, &t);
#elif VMIME_HAVE_LOCALTIME_R
struct tm tms;

View File

@ -224,7 +224,7 @@ const vmime::string windowsHandler::getHostName() const
return hostname;
if (::strlen(hostname) == 0)
::strcpy(hostname, "localhost");
::strcpy_s(hostname, "localhost");
// Try to get canonical name for the hostname
struct addrinfo hints;