aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmit Kapila <akapila@postgresql.org>2018-08-31 15:25:42 +0530
committerAmit Kapila <akapila@postgresql.org>2018-08-31 15:25:42 +0530
commitbb60f2cb6ed8361fbf18b92d312776046d9b0103 (patch)
tree9cf6b99112719ff5602a203af8ba93b5108e2abe
parent2e39f69b6621bd3d67f650a5647fd0412819712d (diff)
downloadpostgresql-bb60f2cb6ed8361fbf18b92d312776046d9b0103.tar.gz
postgresql-bb60f2cb6ed8361fbf18b92d312776046d9b0103.zip
Fix pg_verify_checksums on Windows.
To verify the checksums, we open the file in text mode which doesn't work on Windows as WIN32 treats Control-Z as EOF in files opened in text mode. This leads to "short read of block .." error in some cases. Fix it by opening the files in the binary mode. Author: Amit Kapila Reviewed-by: Magnus Hagander Backpatch-through: 11 Discussion: https://postgr.es/m/CAA4eK1+LOnzod+h85FGmyjWzXKy-XV1FYwEyP-Tky2WpD5cxwA@mail.gmail.com
-rw-r--r--src/bin/pg_verify_checksums/pg_verify_checksums.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/bin/pg_verify_checksums/pg_verify_checksums.c b/src/bin/pg_verify_checksums/pg_verify_checksums.c
index a9412365636..d7b6f4a5280 100644
--- a/src/bin/pg_verify_checksums/pg_verify_checksums.c
+++ b/src/bin/pg_verify_checksums/pg_verify_checksums.c
@@ -83,7 +83,7 @@ scan_file(char *fn, int segmentno)
int f;
int blockno;
- f = open(fn, 0);
+ f = open(fn, O_RDONLY | PG_BINARY);
if (f < 0)
{
fprintf(stderr, _("%s: could not open file \"%s\": %s\n"),