From 2a4bbed7b80283200216244e98f7f004ad4d735a Mon Sep 17 00:00:00 2001
From: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Tue, 2 Oct 2012 17:37:41 +0300
Subject: [PATCH] Silence compiler warning about pointer type mismatch on some
 platforms.

timeval.t_sec is of type time_t, which is not always compatible with long.
I'm not sure if this was just harmless warning or a real bug, but this
fixes it, anyway.
---
 src/bin/pg_basebackup/receivelog.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/bin/pg_basebackup/receivelog.c b/src/bin/pg_basebackup/receivelog.c
index da7a6c84446..d05a588b3ae 100644
--- a/src/bin/pg_basebackup/receivelog.c
+++ b/src/bin/pg_basebackup/receivelog.c
@@ -420,15 +420,20 @@ ReceiveXlogStream(PGconn *conn, XLogRecPtr startpos, uint32 timeline,
 			if (standby_message_timeout)
 			{
 				TimestampTz targettime;
+				long		secs;
+				int			usecs;
 
 				targettime = TimestampTzPlusMilliseconds(last_status,
 												standby_message_timeout - 1);
 				localTimestampDifference(now,
 										 targettime,
-										 &timeout.tv_sec,
-										 (int *) &timeout.tv_usec);
-				if (timeout.tv_sec <= 0)
+										 &secs,
+										 &usecs);
+				if (secs <= 0)
 					timeout.tv_sec = 1; /* Always sleep at least 1 sec */
+				else
+					timeout.tv_sec = secs;
+				timeout.tv_sec = usecs;
 				timeoutptr = &timeout;
 			}
 			else
-- 
GitLab