Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit ea7b4f1

Browse files
committed
Ensure previous setting of pset.queryFout is restored after a failed
backslash-g command.
1 parent 08372d4 commit ea7b4f1

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/bin/psql/common.c

+9-8
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*
44
* Copyright 2000 by PostgreSQL Global Development Group
55
*
6-
* $Header: /cvsroot/pgsql/src/bin/psql/common.c,v 1.30 2001/02/10 02:31:28 tgl Exp $
6+
* $Header: /cvsroot/pgsql/src/bin/psql/common.c,v 1.31 2001/03/01 18:34:29 tgl Exp $
77
*/
88
#include "postgres_fe.h"
99

@@ -429,34 +429,35 @@ SendQuery(const char *query)
429429
FILE *queryFout_copy = pset.queryFout;
430430
bool queryFoutPipe_copy = pset.queryFoutPipe;
431431

432-
pset.queryFout = NULL; /* so it doesn't get
432+
pset.queryFout = stdout; /* so it doesn't get
433433
* closed */
434434

435435
/* open file/pipe */
436436
if (!setQFout(pset.gfname))
437437
{
438+
pset.queryFout = queryFout_copy;
439+
pset.queryFoutPipe = queryFoutPipe_copy;
438440
success = false;
439441
break;
440442
}
441443

442444
printQuery(results, &pset.popt, pset.queryFout);
443445

444-
/* close file/pipe */
446+
/* close file/pipe, restore old setting */
445447
setQFout(NULL);
446448

447-
free(pset.gfname);
448-
pset.gfname = NULL;
449-
450449
pset.queryFout = queryFout_copy;
451450
pset.queryFoutPipe = queryFoutPipe_copy;
452451

452+
free(pset.gfname);
453+
pset.gfname = NULL;
454+
453455
success = true;
454-
break;
455456
}
456457
else
457458
{
458-
success = true;
459459
printQuery(results, &pset.popt, pset.queryFout);
460+
success = true;
460461
}
461462
break;
462463
case PGRES_EMPTY_QUERY:

0 commit comments

Comments
 (0)