From f36920796ec1335733493f7860d6f2f711c20398 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 23 Jan 2011 14:26:51 -0500 Subject: [PATCH] Fix another portability issue in pg_basebackup. The target of sscanf with a %o format had better be of integer width, but "mode_t" conceivably isn't that. Another compiler warning seen only on some platforms; this one I think is potentially a real bug and not just a warning. --- src/bin/pg_basebackup/pg_basebackup.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c index 8a371504ae..536303461a 100644 --- a/src/bin/pg_basebackup/pg_basebackup.c +++ b/src/bin/pg_basebackup/pg_basebackup.c @@ -483,7 +483,7 @@ ReceiveAndUnpackTarFile(PGconn *conn, PGresult *res, int rownum) if (file == NULL) { - mode_t filemode; + int filemode; /* * No current file, so this must be the header for a new file @@ -540,7 +540,7 @@ ReceiveAndUnpackTarFile(PGconn *conn, PGresult *res, int rownum) disconnect_and_exit(1); } #ifndef WIN32 - if (chmod(fn, filemode)) + if (chmod(fn, (mode_t) filemode)) fprintf(stderr, _("%s: could not set permissions on directory \"%s\": %s\n"), progname, fn, strerror(errno)); #endif @@ -580,7 +580,7 @@ ReceiveAndUnpackTarFile(PGconn *conn, PGresult *res, int rownum) } #ifndef WIN32 - if (chmod(fn, filemode)) + if (chmod(fn, (mode_t) filemode)) fprintf(stderr, _("%s: could not set permissions on file \"%s\": %s\n"), progname, fn, strerror(errno)); #endif -- 2.40.0