From 7eb8c7851458eb88def80c290a4b5bc37cc321f3 Mon Sep 17 00:00:00 2001
From: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Sun, 24 Jun 2012 22:14:31 +0300
Subject: [PATCH] I missed some references to xlogid/xrecoff in Win32-only
 code. Fix.

---
 src/bin/pg_basebackup/pg_basebackup.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c
index a66769871ec..a6fd3ae2040 100644
--- a/src/bin/pg_basebackup/pg_basebackup.c
+++ b/src/bin/pg_basebackup/pg_basebackup.c
@@ -1100,6 +1100,8 @@ BaseBackup(void)
 		int			r;
 #else
 		DWORD		status;
+		uint32		hi,
+					lo;
 #endif
 
 		if (verbose)
@@ -1147,12 +1149,13 @@ BaseBackup(void)
 		 * value directly in the variable, and then set the flag that says
 		 * it's there.
 		 */
-		if (sscanf(xlogend, "%X/%X", &xlogendptr.xlogid, &xlogendptr.xrecoff) != 2)
+		if (sscanf(xlogend, "%X/%X", &hi, &lo) != 2)
 		{
 			fprintf(stderr, _("%s: could not parse xlog end position \"%s\"\n"),
 					progname, xlogend);
 			disconnect_and_exit(1);
 		}
+		xlogendptr = ((uint64) hi) << 32 | lo;
 		InterlockedIncrement(&has_xlogendptr);
 
 		/* First wait for the thread to exit */
-- 
GitLab