aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2001-03-01 18:34:29 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2001-03-01 18:34:29 +0000
commitea7b4f1f047941e6d689d3cfea68fdbb9c160663 (patch)
tree9077a4e6556e19bfcc9d9714450d30009ffe3a46
parent08372d4e03acc5b9c1666211c950d36ac1cece17 (diff)
downloadpostgresql-ea7b4f1f047941e6d689d3cfea68fdbb9c160663.tar.gz
postgresql-ea7b4f1f047941e6d689d3cfea68fdbb9c160663.zip
Ensure previous setting of pset.queryFout is restored after a failed
backslash-g command.
-rw-r--r--src/bin/psql/common.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/bin/psql/common.c b/src/bin/psql/common.c
index 9d3323a2ac3..d8bd3e8d44d 100644
--- a/src/bin/psql/common.c
+++ b/src/bin/psql/common.c
@@ -3,7 +3,7 @@
*
* Copyright 2000 by PostgreSQL Global Development Group
*
- * $Header: /cvsroot/pgsql/src/bin/psql/common.c,v 1.30 2001/02/10 02:31:28 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/common.c,v 1.31 2001/03/01 18:34:29 tgl Exp $
*/
#include "postgres_fe.h"
@@ -429,34 +429,35 @@ SendQuery(const char *query)
FILE *queryFout_copy = pset.queryFout;
bool queryFoutPipe_copy = pset.queryFoutPipe;
- pset.queryFout = NULL; /* so it doesn't get
+ pset.queryFout = stdout; /* so it doesn't get
* closed */
/* open file/pipe */
if (!setQFout(pset.gfname))
{
+ pset.queryFout = queryFout_copy;
+ pset.queryFoutPipe = queryFoutPipe_copy;
success = false;
break;
}
printQuery(results, &pset.popt, pset.queryFout);
- /* close file/pipe */
+ /* close file/pipe, restore old setting */
setQFout(NULL);
- free(pset.gfname);
- pset.gfname = NULL;
-
pset.queryFout = queryFout_copy;
pset.queryFoutPipe = queryFoutPipe_copy;
+ free(pset.gfname);
+ pset.gfname = NULL;
+
success = true;
- break;
}
else
{
- success = true;
printQuery(results, &pset.popt, pset.queryFout);
+ success = true;
}
break;
case PGRES_EMPTY_QUERY: