diff options
author | David Rowley <drowley@postgresql.org> | 2021-04-06 18:33:40 +1200 |
---|---|---|
committer | David Rowley <drowley@postgresql.org> | 2021-04-06 18:33:40 +1200 |
commit | 9bc9b4609a246ded5caf3f3d4c0013a002ba2323 (patch) | |
tree | 93a95e31f91f6e2a1d3497dec0150778597abeeb /src | |
parent | a2da77cdb4661826482ebf2ddba1f953bc74afe4 (diff) | |
download | postgresql-9bc9b4609a246ded5caf3f3d4c0013a002ba2323.tar.gz postgresql-9bc9b4609a246ded5caf3f3d4c0013a002ba2323.zip |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/interfaces/libpq/fe-trace.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/interfaces/libpq/fe-trace.c b/src/interfaces/libpq/fe-trace.c index 9a4595f5c87..51b01fd40e5 100644 --- a/src/interfaces/libpq/fe-trace.c +++ b/src/interfaces/libpq/fe-trace.c @@ -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)); |