Change-Id: I4245c0e856c06c7d5e9ad1902590f5196f0394e0
#include <iomanip>
#include <thread>
#include <atomic>
+#include <cstring>
namespace logger
{
char time[TIME_COLUMN_LENGTH + 1];
struct timeval tv;
gettimeofday(&tv, NULL);
- struct tm* tm = localtime(&tv.tv_sec);
- snprintf(time,
- sizeof(time),
- "%02d:%02d:%02d.%03d",
- tm->tm_hour,
- tm->tm_min,
- tm->tm_sec,
- int(tv.tv_usec / 1000));
+ struct tm *localTime = localtime(&tv.tv_sec);
+ if (localTime != nullptr)
+ {
+ snprintf(time,
+ sizeof(time),
+ "%02d:%02d:%02d.%03d",
+ localTime->tm_hour,
+ localTime->tm_min,
+ localTime->tm_sec,
+ static_cast<int>(tv.tv_usec / 1000));
+ }
+ else
+ {
+ strncpy(time, "00:00:00.000", sizeof(time));
+ }
return std::string(time);
}