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.
}
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;
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);
}