I missed some references to xlogid/xrecoff in Win32-only code. Fix.
authorHeikki Linnakangas
Sun, 24 Jun 2012 19:14:31 +0000 (22:14 +0300)
committerHeikki Linnakangas
Sun, 24 Jun 2012 19:14:31 +0000 (22:14 +0300)
src/bin/pg_basebackup/pg_basebackup.c

index a66769871ec5eb08f98e5304ed7f6a5d4ba19320..a6fd3ae2040e16c398811a9b667d5471a0553c91 100644 (file)
@@ -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 */