From 89c2f573a392e3995fffc619d4faed23f8649269 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut <peter_e@gmx.net> Date: Thu, 1 Mar 2012 19:58:10 +0200 Subject: [PATCH] psql: Improve error display for psql -f - Running "psql -f -" used to print psql:<stdin>:1: ERROR: blah but that got broken between 8.4 and 9.0 (commit b291c0fba83a1e93868e2f69c03be195d620f30c), and now it printed psql:-:1: ERROR: blah This reverts to the old behavior and cleans up some code that was left dead or useless by the mentioned commit. --- src/bin/psql/command.c | 13 ++++++++----- src/bin/psql/startup.c | 2 -- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index 8421ad00860..aa000735dc5 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -2062,14 +2062,17 @@ process_file(char *filename, bool single_txn, bool use_relative_path) } fd = fopen(filename, PG_BINARY_R); + + if (!fd) + { + psql_error("%s: %s\n", filename, strerror(errno)); + return EXIT_FAILURE; + } } else - fd = stdin; - - if (!fd) { - psql_error("%s: %s\n", filename, strerror(errno)); - return EXIT_FAILURE; + fd = stdin; + filename = "<stdin>"; /* for future error messages */ } oldfilename = pset.inputfile; diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c index aff57728a2a..166c227d6b6 100644 --- a/src/bin/psql/startup.c +++ b/src/bin/psql/startup.c @@ -313,8 +313,6 @@ main(int argc, char *argv[]) printf(_("Type \"help\" for help.\n\n")); if (!pset.notty) initializeInput(options.no_readline ? 0 : 1); - if (options.action_string) /* -f - was used */ - pset.inputfile = "<stdin>"; successResult = MainLoop(stdin); } -- GitLab