aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Meskes <meskes@postgresql.org>2010-04-03 19:30:49 +0000
committerMichael Meskes <meskes@postgresql.org>2010-04-03 19:30:49 +0000
commit5f5ba923346daf841b9ab8cd7ffc208bafbee6c2 (patch)
tree0d72c0602d6bc176842087d90209a99e7c69b8a0 /src
parenta404a12fb48a7623fb806e98f1f9b12b4443aeb1 (diff)
downloadpostgresql-5f5ba923346daf841b9ab8cd7ffc208bafbee6c2.tar.gz
postgresql-5f5ba923346daf841b9ab8cd7ffc208bafbee6c2.zip
Make ecpg in line with other compilers in that it deletes its output if there was an error processing the input file.
Work done by Zoltan.
Diffstat (limited to 'src')
-rw-r--r--src/interfaces/ecpg/preproc/ecpg.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/interfaces/ecpg/preproc/ecpg.c b/src/interfaces/ecpg/preproc/ecpg.c
index 1c90202b57c..3247e959829 100644
--- a/src/interfaces/ecpg/preproc/ecpg.c
+++ b/src/interfaces/ecpg/preproc/ecpg.c
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg.c,v 1.114 2010/02/26 02:01:31 momjian Exp $ */
+/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg.c,v 1.115 2010/04/03 19:30:49 meskes Exp $ */
/* Main for ecpg, the PostgreSQL embedded SQL precompiler. */
/* Copyright (c) 1996-2010, PostgreSQL Global Development Group */
@@ -469,6 +469,14 @@ main(int argc, char *const argv[])
fclose(yyin);
if (out_option == 0 && yyout != stdout)
fclose(yyout);
+ /*
+ * If there was an error, delete the output file.
+ */
+ if (ret_value != 0)
+ {
+ if (strcmp(output_filename, "-") != 0 && unlink(output_filename) != 0)
+ fprintf(stderr, _("could not remove output file \"%s\"\n"), output_filename);
+ }
}
if (output_filename && out_option == 0)