aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarc G. Fournier <scrappy@hub.org>1998-07-09 03:35:39 +0000
committerMarc G. Fournier <scrappy@hub.org>1998-07-09 03:35:39 +0000
commit3a3c1b85a30ba6106c488f64d2b26d83a82d5e3b (patch)
treeda1ecaaaf59d3f607270eac1a8b68e2c7179ac48 /src
parentbd029bcb4a115d2dd409319cfc8db4f77d2dd048 (diff)
downloadpostgresql-3a3c1b85a30ba6106c488f64d2b26d83a82d5e3b.tar.gz
postgresql-3a3c1b85a30ba6106c488f64d2b26d83a82d5e3b.zip
From: Tom Lane <tgl@sss.pgh.pa.us>
I see someone missed an ancient bit of shell-scripting lore: on some older shells, if your script's argument list is empty, then "$@" generates an empty-string word rather than no word at all. You need to write ${1+"$@"} to get the latter behavior. (Read your shell man page to see exactly how that works, but it does the Right Thing on every Bourne shell.) In particular, pg_dumpall fails when invoked without any switches on HPUX 9.*, because pg_dump gets an empty-string argument that it thinks is the name of the database to dump. I expect this bug also affects some other OSes, but couldn't tell you just which ones. Patch attached.
Diffstat (limited to 'src')
-rw-r--r--src/bin/pg_dump/pg_dumpall2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/bin/pg_dump/pg_dumpall b/src/bin/pg_dump/pg_dumpall
index 4651987b80d..48e313afec8 100644
--- a/src/bin/pg_dump/pg_dumpall
+++ b/src/bin/pg_dump/pg_dumpall
@@ -58,7 +58,7 @@ do
echo "${BS}connect template1 $POSTGRES_USER"
echo "create database $DATABASE;"
echo "${BS}connect $DATABASE $POSTGRES_USER"
- pg_dump "$@" $DATABASE
+ pg_dump ${1+"$@"} $DATABASE
if [ "$?" -ne 0 ]
then echo "pg_dump failed on $DATABASE, exiting" 1>&2
exit 1