-/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.45 2008/12/15 15:34:07 meskes Exp $ */
+/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.46 2008/12/15 19:07:48 tgl Exp $ */
#define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h"
{
va_list ap;
struct sqlca_t *sqlca = ECPGget_sqlca();
- int bufsize = strlen(format) + 100;
- char *f = (char *) malloc(bufsize),
- *intl_format;
+ const char *intl_format;
+ int bufsize;
+ char *fmt;
- if (!simple_debug || f == NULL)
+ if (!simple_debug)
return;
/* internationalize the error message string */
intl_format = ecpg_gettext(format);
/*
- * regression tests set this environment variable to get the same
- * output for every run.
+ * Insert PID into the format, unless ecpg_internal_regression_mode is
+ * set (regression tests want unchanging output).
*/
+ bufsize = strlen(intl_format) + 100;
+ fmt = (char *) malloc(bufsize);
+ if (fmt == NULL)
+ return;
+
if (ecpg_internal_regression_mode)
- snprintf(f, bufsize, "[NO_PID]: %s", intl_format);
+ snprintf(fmt, bufsize, "[NO_PID]: %s", intl_format);
else
- snprintf(f, bufsize, "[%d]: %s", (int) getpid(), intl_format);
+ snprintf(fmt, bufsize, "[%d]: %s", (int) getpid(), intl_format);
#ifdef ENABLE_THREAD_SAFETY
pthread_mutex_lock(&debug_mutex);
#endif
va_start(ap, format);
- vfprintf(debugstream, f, ap);
+ vfprintf(debugstream, fmt, ap);
va_end(ap);
/* dump out internal sqlca variables */
pthread_mutex_unlock(&debug_mutex);
#endif
- free(f);
+ free(fmt);
}
void