{
time_t t = time(NULL);
char buffer[32];
- std::strftime(buffer, sizeof(buffer),"%b %d %H:%M:%S ", std::localtime(&t));
+ struct tm ta;
+ if (localtime_r(&t, &ta) == NULL)
+ memset(&ta, 0, sizeof(struct tm));
+
+ std::strftime(buffer, sizeof(buffer),"%b %d %H:%M:%S ", &ta);
ostr << buffer;
}
ostr << get_level_tag(level) << " ";
{
char buf[50];
memset (buf, 0, 50);
- struct tm *ta = localtime ((time_t *)&seconds);
+ struct tm ta;
+ if (localtime_r((time_t *)&seconds, &ta) == NULL)
+ memset (&ta, 0, sizeof(struct tm));
- strftime (buf, 49, "%d.%m.%Y %H:%M", ta);
+ strftime (buf, 49, "%d.%m.%Y %H:%M", &ta);
return string(buf);
}
BOOST_CHECK_EQUAL(string("Mon-Wed"), week.get_displaystring());
}
+BOOST_AUTO_TEST_CASE(FormatFullTime)
+{
+ time_t seconds = 1318844005;
+
+ BOOST_CHECK_EQUAL("17.10.2011 11:33", format_full_time(seconds));
+}
+
BOOST_AUTO_TEST_SUITE_END()