diff options
author | Michael Meskes <meskes@postgresql.org> | 2007-06-11 12:01:23 +0000 |
---|---|---|
committer | Michael Meskes <meskes@postgresql.org> | 2007-06-11 12:01:23 +0000 |
commit | 88a7c4822ca1a33a35c862b9c4c5a39451ea93cf (patch) | |
tree | 47ee97ae0947ab207b53e1a5b07c7ba1357f7d88 /src | |
parent | 91411b6105850567b823dd36cc854c0f12cebdd6 (diff) | |
download | postgresql-88a7c4822ca1a33a35c862b9c4c5a39451ea93cf.tar.gz postgresql-88a7c4822ca1a33a35c862b9c4c5a39451ea93cf.zip |
Should not try to unlink stdout.
Diffstat (limited to 'src')
-rw-r--r-- | src/interfaces/ecpg/ChangeLog | 5 | ||||
-rw-r--r-- | src/interfaces/ecpg/preproc/preproc.y | 7 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog index aacd2e26d0d..28aaca24e67 100644 --- a/src/interfaces/ecpg/ChangeLog +++ b/src/interfaces/ecpg/ChangeLog @@ -2203,4 +2203,9 @@ Sun, 27 May 2007 13:14:39 +0200 - Changed variable test to not run into infinite loops on backend errors. + +Mon, 11 Jun 2007 13:59:57 +0200 + + - Fixed memory leak in descriptor code. + - Made ecpg delete output file in case of an error. - Set ecpg version to 4.3.1. diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y index 80dc3765827..e4bd74f38c4 100644 --- a/src/interfaces/ecpg/preproc/preproc.y +++ b/src/interfaces/ecpg/preproc/preproc.y @@ -1,10 +1,11 @@ -/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.344 2007/06/11 11:52:08 meskes Exp $ */ +/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.345 2007/06/11 12:01:23 meskes Exp $ */ /* Copyright comment */ %{ #include "postgres_fe.h" #include "extern.h" +#include <unistd.h> /* Location tracking support --- simpler than bison's default */ #define YYLLOC_DEFAULT(Current, Rhs, N) \ @@ -101,8 +102,8 @@ mmerror(int error_code, enum errortype type, char * error, ...) case ET_FATAL: fclose(yyin); fclose(yyout); - if (unlink(output_filename) != 0) - fprintf(stderr, "Could not remove ourput file %s!\n", output_filename); + if (unlink(output_filename) != 0 && *output_filename != '-') + fprintf(stderr, "Could not remove output file %s!\n", output_filename); exit(error_code); } } |