Make sure pg_control is opened in binary mode, to deal
with situtations when the file contains an EOF maker (0x1A) on Windows. ITAGAKI Takahiro
This commit is contained in:
parent
cdf5357ec9
commit
607b7166d8
|
@ -6,7 +6,7 @@
|
||||||
* copyright (c) Oliver Elphick <olly@lfix.co.uk>, 2001;
|
* copyright (c) Oliver Elphick <olly@lfix.co.uk>, 2001;
|
||||||
* licence: BSD
|
* licence: BSD
|
||||||
*
|
*
|
||||||
* $PostgreSQL: pgsql/src/bin/pg_controldata/pg_controldata.c,v 1.40 2008/09/23 09:20:37 heikki Exp $
|
* $PostgreSQL: pgsql/src/bin/pg_controldata/pg_controldata.c,v 1.41 2008/09/24 08:59:42 mha Exp $
|
||||||
*/
|
*/
|
||||||
#include "postgres_fe.h"
|
#include "postgres_fe.h"
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ main(int argc, char *argv[])
|
||||||
|
|
||||||
snprintf(ControlFilePath, MAXPGPATH, "%s/global/pg_control", DataDir);
|
snprintf(ControlFilePath, MAXPGPATH, "%s/global/pg_control", DataDir);
|
||||||
|
|
||||||
if ((fd = open(ControlFilePath, O_RDONLY, 0)) == -1)
|
if ((fd = open(ControlFilePath, O_RDONLY | PG_BINARY, 0)) == -1)
|
||||||
{
|
{
|
||||||
fprintf(stderr, _("%s: could not open file \"%s\" for reading: %s\n"),
|
fprintf(stderr, _("%s: could not open file \"%s\" for reading: %s\n"),
|
||||||
progname, ControlFilePath, strerror(errno));
|
progname, ControlFilePath, strerror(errno));
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
|
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
|
||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* Portions Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
* $PostgreSQL: pgsql/src/bin/pg_resetxlog/pg_resetxlog.c,v 1.66 2008/09/23 09:20:38 heikki Exp $
|
* $PostgreSQL: pgsql/src/bin/pg_resetxlog/pg_resetxlog.c,v 1.67 2008/09/24 08:59:42 mha Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
@ -373,7 +373,7 @@ ReadControlFile(void)
|
||||||
char *buffer;
|
char *buffer;
|
||||||
pg_crc32 crc;
|
pg_crc32 crc;
|
||||||
|
|
||||||
if ((fd = open(XLOG_CONTROL_FILE, O_RDONLY, 0)) < 0)
|
if ((fd = open(XLOG_CONTROL_FILE, O_RDONLY | PG_BINARY, 0)) < 0)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* If pg_control is not there at all, or we can't read it, the odds
|
* If pg_control is not there at all, or we can't read it, the odds
|
||||||
|
|
Loading…
Reference in New Issue