From 3f7e1e4b91889ac3aa6495cabb6d3a5072d9ca45 Mon Sep 17 00:00:00 2001 From: Michael Meskes Date: Mon, 15 Dec 2008 15:34:07 +0000 Subject: [PATCH] Do not try to change a const variable. --- src/interfaces/ecpg/ChangeLog | 4 +++ src/interfaces/ecpg/ecpglib/misc.c | 61 ++++++++++++++++++-------------------- 2 files changed, 33 insertions(+), 32 deletions(-) diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog index c6064cd0af..89e6490d0f 100644 --- a/src/interfaces/ecpg/ChangeLog +++ b/src/interfaces/ecpg/ChangeLog @@ -2396,6 +2396,10 @@ Wed, 26 Nov 2008 14:09:08 +0100 - When creating a varchar struct name braces must be discarded. - Applied patch by Ron Mayer to merge the new interval style into ecpg. + +Mon, 15 Dec 2008 16:31:31 +0100 + + - Do not try to change a const variable in ecpg_log. - Set pgtypes library version to 3.1. - Set compat library version to 3.1. - Set ecpg library version to 6.2. diff --git a/src/interfaces/ecpg/ecpglib/misc.c b/src/interfaces/ecpg/ecpglib/misc.c index 29c391612e..3125a9065c 100644 --- a/src/interfaces/ecpg/ecpglib/misc.c +++ b/src/interfaces/ecpg/ecpglib/misc.c @@ -1,4 +1,4 @@ -/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.44 2008/12/11 07:34:09 petere Exp $ */ +/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.45 2008/12/15 15:34:07 meskes Exp $ */ #define POSTGRES_ECPG_INTERNAL #include "postgres_fe.h" @@ -241,49 +241,46 @@ void ecpg_log(const char *format,...) { va_list ap; - struct sqlca_t *sqlca = ECPGget_sqlca(); - - /* internationalize the error message string */ - format = ecpg_gettext(format); - - if (simple_debug) - { - int bufsize = strlen(format) + 100; - char *f = (char *) malloc(bufsize); + struct sqlca_t *sqlca = ECPGget_sqlca(); + int bufsize = strlen(format) + 100; + char *f = (char *) malloc(bufsize), + *intl_format; - if (f == NULL) - return; + if (!simple_debug || f == NULL) + return; - /* - * regression tests set this environment variable to get the same - * output for every run. - */ - if (ecpg_internal_regression_mode) - snprintf(f, bufsize, "[NO_PID]: %s", format); - else - snprintf(f, bufsize, "[%d]: %s", (int) getpid(), format); + /* internationalize the error message string */ + intl_format = ecpg_gettext(format); + + /* + * regression tests set this environment variable to get the same + * output for every run. + */ + if (ecpg_internal_regression_mode) + snprintf(f, bufsize, "[NO_PID]: %s", intl_format); + else + snprintf(f, bufsize, "[%d]: %s", (int) getpid(), intl_format); #ifdef ENABLE_THREAD_SAFETY - pthread_mutex_lock(&debug_mutex); + pthread_mutex_lock(&debug_mutex); #endif - va_start(ap, format); - vfprintf(debugstream, f, ap); - va_end(ap); + va_start(ap, format); + vfprintf(debugstream, f, ap); + va_end(ap); - /* dump out internal sqlca variables */ - if (ecpg_internal_regression_mode) - fprintf(debugstream, "[NO_PID]: sqlca: code: %ld, state: %s\n", - sqlca->sqlcode, sqlca->sqlstate); + /* dump out internal sqlca variables */ + if (ecpg_internal_regression_mode) + fprintf(debugstream, "[NO_PID]: sqlca: code: %ld, state: %s\n", + sqlca->sqlcode, sqlca->sqlstate); - fflush(debugstream); + fflush(debugstream); #ifdef ENABLE_THREAD_SAFETY - pthread_mutex_unlock(&debug_mutex); + pthread_mutex_unlock(&debug_mutex); #endif - free(f); - } + free(f); } void -- 2.11.0