char *
UTI_TimevalToString(struct timeval *tv)
{
- char buffer[64], *result;
- struct tm stm;
- stm = *gmtime((time_t *) &(tv->tv_sec));
- strftime(buffer, sizeof(buffer), "%a %x %X", &stm);
+ char *result;
+
result = NEXT_BUFFER;
- snprintf(result, BUFFER_LENGTH, "%s.%06ld", buffer, (unsigned long)(tv->tv_usec));
+ /* TODO: time_t may be wider than long, switch to int64_t before 2038 */
+ snprintf(result, BUFFER_LENGTH, "%ld.%06lu",
+ (long)tv->tv_sec, (unsigned long)tv->tv_usec);
return result;
}