summaryrefslogtreecommitdiff
path: root/cpp/src/IceUtil/Time.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceUtil/Time.cpp')
-rw-r--r--cpp/src/IceUtil/Time.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/cpp/src/IceUtil/Time.cpp b/cpp/src/IceUtil/Time.cpp
index bac201a055d..68d775d0a9a 100644
--- a/cpp/src/IceUtil/Time.cpp
+++ b/cpp/src/IceUtil/Time.cpp
@@ -280,17 +280,15 @@ IceUtil::Time::toString(const std::string& format) const
{
time_t time = static_cast<long>(_usec / 1000000);
- struct tm* t;
-#ifdef _WIN32
- t = localtime(&time);
-#else
struct tm tr;
+#ifdef _MSC_VER
+ localtime_s(&tr, &time);
+#else
localtime_r(&time, &tr);
- t = &tr;
#endif
char buf[32];
- if(strftime(buf, sizeof(buf), format.c_str(), t) == 0)
+ if(strftime(buf, sizeof(buf), format.c_str(), &tr) == 0)
{
return std::string();
}