From e331c60ea727f998eb1023e8a2c468692d10032e Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 18 Oct 2011 21:44:23 -0400 Subject: [PATCH] Suppress remaining -Waddress warnings from recent gcc versions. Still an exercise in satisfying pedants. --- src/bin/psql/psqlscan.l | 2 +- src/interfaces/libpq/fe-connect.c | 4 ++-- src/interfaces/libpq/pqexpbuffer.h | 8 ++++++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/bin/psql/psqlscan.l b/src/bin/psql/psqlscan.l index d4a9d94a43..0c855ba248 100644 --- a/src/bin/psql/psqlscan.l +++ b/src/bin/psql/psqlscan.l @@ -1673,7 +1673,7 @@ evaluate_backtick(void) error = true; } - if (PQExpBufferBroken(&cmd_output)) + if (PQExpBufferDataBroken(cmd_output)) { psql_error("%s: out of memory\n", cmd); error = true; diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index 64eeebacfe..ed9dce941e 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -829,7 +829,7 @@ PQconndefaults(void) PQconninfoOption *connOptions; initPQExpBuffer(&errorBuf); - if (PQExpBufferBroken(&errorBuf)) + if (PQExpBufferDataBroken(errorBuf)) return NULL; /* out of memory already :-( */ connOptions = conninfo_parse("", &errorBuf, true); termPQExpBuffer(&errorBuf); @@ -3967,7 +3967,7 @@ PQconninfoParse(const char *conninfo, char **errmsg) if (errmsg) *errmsg = NULL; /* default */ initPQExpBuffer(&errorBuf); - if (PQExpBufferBroken(&errorBuf)) + if (PQExpBufferDataBroken(errorBuf)) return NULL; /* out of memory already :-( */ connOptions = conninfo_parse(conninfo, &errorBuf, false); if (connOptions == NULL && errmsg) diff --git a/src/interfaces/libpq/pqexpbuffer.h b/src/interfaces/libpq/pqexpbuffer.h index d60fedc762..59cefbfb94 100644 --- a/src/interfaces/libpq/pqexpbuffer.h +++ b/src/interfaces/libpq/pqexpbuffer.h @@ -59,6 +59,14 @@ typedef PQExpBufferData *PQExpBuffer; #define PQExpBufferBroken(str) \ ((str) == NULL || (str)->maxlen == 0) +/*------------------------ + * Same, but for use when using a static or local PQExpBufferData struct. + * For that, a null-pointer test is useless and may draw compiler warnings. + *------------------------ + */ +#define PQExpBufferDataBroken(buf) \ + ((buf).maxlen == 0) + /*------------------------ * Initial size of the data buffer in a PQExpBuffer. * NB: this must be large enough to hold error messages that might