Commit 9bc9b460 authored by David Rowley's avatar David Rowley

Fix compiler warning in fe-trace.c for MSVC

It seems that in MSVC timeval's tv_sec field is of type long.
localtime() takes a time_t pointer.  Since long is 32-bit even on 64-bit
builds in MSVC, passing a long pointer instead of the correct time_t
pointer generated a compiler warning.  Fix that.

Reviewed-by: Tom Lane
Discussion: https://postgr.es/m/CAApHDvoRG25X_=ZCGSPb4KN_j2iu=G2uXsRSg8NBZeuhkOSETg@mail.gmail.com
parent a2da77cd
......@@ -80,11 +80,20 @@ static void
pqTraceFormatTimestamp(char *timestr, size_t ts_len)
{
struct timeval tval;
time_t now;
gettimeofday(&tval, NULL);
/*
* MSVC's implementation of timeval uses a long for tv_sec, however,
* localtime() expects a time_t pointer. Here we'll assign tv_sec to a
* local time_t variable so that we pass localtime() the correct pointer
* type.
*/
now = tval.tv_sec;
strftime(timestr, ts_len,
"%Y-%m-%d %H:%M:%S",
localtime(&tval.tv_sec));
localtime(&now));
/* append microseconds */
snprintf(timestr + strlen(timestr), ts_len - strlen(timestr),
".%06u", (unsigned int) (tval.tv_usec));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment