diff options
author | Michael Paquier | 2024-03-12 01:02:54 +0000 |
---|---|---|
committer | Michael Paquier | 2024-03-12 01:02:54 +0000 |
commit | 2c8118ee5d980e11f73683fcda2329c323aa381e (patch) | |
tree | 7527eb2a94bc9cc8821ff9afba62e03918dff351 /src/backend | |
parent | 3045324214467dd3f0bef31f6f33562b9eb93aa3 (diff) |
Use printf's %m format instead of strerror(errno) in more places
Most callers of strerror() are removed from the backend code. The
remaining callers require special handling with a saved errno from a
previous system call. The frontend code still needs strerror() where
error states need to be handled outside of fprintf.
Note that pg_regress is not changed to use %m as the TAP output may
clobber errno, since those functions call fprintf() and friends before
evaluating the format string.
Support for %m in src/port/snprintf.c has been added in d6c55de1f99a,
hence all the stable branches currently supported include it.
Author: Dagfinn Ilmari Mannsåker
Discussion: https://postgr.es/m/87sf13jhuw.fsf@wibble.ilmari.org
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/postmaster/postmaster.c | 21 | ||||
-rw-r--r-- | src/backend/postmaster/syslogger.c | 2 | ||||
-rw-r--r-- | src/backend/utils/misc/guc.c | 9 |
3 files changed, 14 insertions, 18 deletions
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index f3c09e8dc0d..af8a1efe665 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -1375,12 +1375,12 @@ PostmasterMain(int argc, char *argv[]) /* Make PID file world readable */ if (chmod(external_pid_file, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH) != 0) - write_stderr("%s: could not change permissions of external PID file \"%s\": %s\n", - progname, external_pid_file, strerror(errno)); + write_stderr("%s: could not change permissions of external PID file \"%s\": %m\n", + progname, external_pid_file); } else - write_stderr("%s: could not write external PID file \"%s\": %s\n", - progname, external_pid_file, strerror(errno)); + write_stderr("%s: could not write external PID file \"%s\": %m\n", + progname, external_pid_file); on_proc_exit(unlink_external_pid_file, 0); } @@ -1589,8 +1589,8 @@ checkControlFile(void) { write_stderr("%s: could not find the database system\n" "Expected to find it in the directory \"%s\",\n" - "but could not open file \"%s\": %s\n", - progname, DataDir, path, strerror(errno)); + "but could not open file \"%s\": %m\n", + progname, DataDir, path); ExitPostmaster(2); } FreeFile(fp); @@ -6277,15 +6277,13 @@ read_backend_variables(char *id, Port **port, BackgroundWorker **worker) fp = AllocateFile(id, PG_BINARY_R); if (!fp) { - write_stderr("could not open backend variables file \"%s\": %s\n", - id, strerror(errno)); + write_stderr("could not open backend variables file \"%s\": %m\n", id); exit(1); } if (fread(¶m, sizeof(param), 1, fp) != 1) { - write_stderr("could not read from backend variables file \"%s\": %s\n", - id, strerror(errno)); + write_stderr("could not read from backend variables file \"%s\": %m\n", id); exit(1); } @@ -6293,8 +6291,7 @@ read_backend_variables(char *id, Port **port, BackgroundWorker **worker) FreeFile(fp); if (unlink(id) != 0) { - write_stderr("could not remove file \"%s\": %s\n", - id, strerror(errno)); + write_stderr("could not remove file \"%s\": %m\n", id); exit(1); } #else diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c index c2a6a226e70..d9d042f5628 100644 --- a/src/backend/postmaster/syslogger.c +++ b/src/backend/postmaster/syslogger.c @@ -1173,7 +1173,7 @@ write_syslogger_file(const char *buffer, int count, int destination) * to our input pipe which would result in a different sort of looping. */ if (rc != count) - write_stderr("could not write to log file: %s\n", strerror(errno)); + write_stderr("could not write to log file: %m\n"); } #ifdef WIN32 diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index dd5a46469a6..391866145ee 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -1799,10 +1799,9 @@ SelectConfigFiles(const char *userDoption, const char *progname) if (configdir && stat(configdir, &stat_buf) != 0) { - write_stderr("%s: could not access directory \"%s\": %s\n", + write_stderr("%s: could not access directory \"%s\": %m\n", progname, - configdir, - strerror(errno)); + configdir); if (errno == ENOENT) write_stderr("Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n"); return false; @@ -1851,8 +1850,8 @@ SelectConfigFiles(const char *userDoption, const char *progname) */ if (stat(ConfigFileName, &stat_buf) != 0) { - write_stderr("%s: could not access the server configuration file \"%s\": %s\n", - progname, ConfigFileName, strerror(errno)); + write_stderr("%s: could not access the server configuration file \"%s\": %m\n", + progname, ConfigFileName); free(configdir); return false; } |