postgres.git / summary / log / commit / refs

commit    87cdfeb18ae0fe298b6f405718cbe97eaed190d3
Author:   Bruce Momjian <bruce@momjian.us>
Date:     Sat Nov 14 16:47:11 2015 +0000
First released in: 9.6.0, 9.1.20, 9.2.15, 9.3.11, 9.4.6, 9.5.0

    pg_upgrade:  properly detect file copy failure on Windows
    
    Previously, file copy failures were ignored on Windows due to an
    incorrect return value check.
    
    Report by Manu Joye
    
    Backpatch through 9.1


contrib/pg_upgrade/file.c | 6 +++++- contrib/pg_upgrade/pg_upgrade.h | 2 -- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/contrib/pg_upgrade/file.c b/contrib/pg_upgrade/file.c index ab9d1edcb6d..4d2c407084c 100644 --- a/contrib/pg_upgrade/file.c +++ b/contrib/pg_upgrade/file.c @@ -34,7 +34,11 @@ copyAndUpdateFile(pageCnvCtx *pageConverter, { if (pageConverter == NULL) { - if (pg_copy_file(src, dst, force) == -1) +#ifndef WIN32 + if (copy_file(src, dst, force) == -1) +#else + if (CopyFile(src, dst, force) == 0) +#endif return getErrorText(errno); else return NULL; diff --git a/contrib/pg_upgrade/pg_upgrade.h b/contrib/pg_upgrade/pg_upgrade.h index 1c6f8f0aa1c..5568c2ebbab 100644 --- a/contrib/pg_upgrade/pg_upgrade.h +++ b/contrib/pg_upgrade/pg_upgrade.h @@ -70,7 +70,6 @@ extern char *output_files[]; #ifndef WIN32 -#define pg_copy_file copy_file #define pg_mv_file rename #define pg_link_file link #define PATH_SEPARATOR '/' @@ -80,7 +79,6 @@ extern char *output_files[]; #define ECHO_QUOTE "'" #define ECHO_BLANK "" #else -#define pg_copy_file CopyFile #define pg_mv_file pgrename #define pg_link_file win32_pghardlink #define PATH_SEPARATOR '\\' [parent: 40879a92b90c]