diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index 8ccd00d75f7b0b54536ad127dc489fe107cedc91..e60578501a5d7a123ca918b29045ebebf05eeede 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -99,7 +99,7 @@ HandleSlashCmds(PsqlScanState scan_state, char *cmd; char *arg; - psql_assert(scan_state); + Assert(scan_state != NULL); /* Parse off the command name */ cmd = psql_scan_slash_command(scan_state); @@ -1819,7 +1819,7 @@ editFile(const char *fname, int lineno) char *sys; int result; - psql_assert(fname); + Assert(fname != NULL); /* Find an editor to use */ editorName = getenv("PSQL_EDITOR"); @@ -2177,7 +2177,7 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet) { size_t vallen = 0; - psql_assert(param); + Assert(param != NULL); if (value) vallen = strlen(value); diff --git a/src/bin/psql/common.c b/src/bin/psql/common.c index 179c1622793ea89449a5d87ffe4cb361d53d1433..c2a2ab6f8498ba8b89b544f834e27dd0f600ce84 100644 --- a/src/bin/psql/common.c +++ b/src/bin/psql/common.c @@ -1160,7 +1160,7 @@ ExecQueryUsingCursor(const char *query, double *elapsed_msec) } OK = AcceptResult(results); - psql_assert(!OK); + Assert(!OK); PQclear(results); break; } diff --git a/src/bin/psql/common.h b/src/bin/psql/common.h index f54baab841d30a8c6951a9ada4ddb888adf06e48..7f342901ad15fb02afd276d703b901dc5361b4df 100644 --- a/src/bin/psql/common.h +++ b/src/bin/psql/common.h @@ -12,13 +12,6 @@ #include #include "libpq-fe.h" -#ifdef USE_ASSERT_CHECKING -#include -#define psql_assert(p) assert(p) -#else -#define psql_assert(p) -#endif - #define atooid(x) ((Oid) strtoul((x), NULL, 10)) /* diff --git a/src/bin/psql/psqlscan.l b/src/bin/psql/psqlscan.l index 6c1429815f2eec597f735d18ea86d9c8c9f1f3a2..f8822cc17f98f6507f1c34b2c67852aeb9f3970e 100644 --- a/src/bin/psql/psqlscan.l +++ b/src/bin/psql/psqlscan.l @@ -1184,8 +1184,8 @@ psql_scan_setup(PsqlScanState state, const char *line, int line_len) { /* Mustn't be scanning already */ - psql_assert(state->scanbufhandle == NULL); - psql_assert(state->buffer_stack == NULL); + Assert(state->scanbufhandle == NULL); + Assert(state->buffer_stack == NULL); /* Do we need to hack the character set encoding? */ state->encoding = pset.encoding; @@ -1245,7 +1245,7 @@ psql_scan(PsqlScanState state, int lexresult; /* Must be scanning already */ - psql_assert(state->scanbufhandle); + Assert(state->scanbufhandle != NULL); /* Set up static variables that will be used by yylex */ cur_state = state; @@ -1424,7 +1424,7 @@ psql_scan_slash_command(PsqlScanState state) PQExpBufferData mybuf; /* Must be scanning already */ - psql_assert(state->scanbufhandle); + Assert(state->scanbufhandle != NULL); /* Build a local buffer that we'll return the data of */ initPQExpBuffer(&mybuf); @@ -1478,7 +1478,7 @@ psql_scan_slash_option(PsqlScanState state, char local_quote; /* Must be scanning already */ - psql_assert(state->scanbufhandle); + Assert(state->scanbufhandle != NULL); if (quote == NULL) quote = &local_quote; @@ -1512,7 +1512,7 @@ psql_scan_slash_option(PsqlScanState state, * or LEXRES_EOL (the latter indicating end of string). If we were inside * a quoted string, as indicated by YY_START, EOL is an error. */ - psql_assert(lexresult == LEXRES_EOL || lexresult == LEXRES_OK); + Assert(lexresult == LEXRES_EOL || lexresult == LEXRES_OK); switch (YY_START) { @@ -1608,7 +1608,7 @@ void psql_scan_slash_command_end(PsqlScanState state) { /* Must be scanning already */ - psql_assert(state->scanbufhandle); + Assert(state->scanbufhandle != NULL); /* Set up static variables that will be used by yylex */ cur_state = state; diff --git a/src/bin/psql/stringutils.c b/src/bin/psql/stringutils.c index b557c5a6bacb96504f053fed5a88eedb140418b4..f0bed2bc00348e45e1df50ec155b8bd70cfef052 100644 --- a/src/bin/psql/stringutils.c +++ b/src/bin/psql/stringutils.c @@ -245,8 +245,8 @@ strip_quotes(char *source, char quote, char escape, int encoding) char *src; char *dst; - psql_assert(source); - psql_assert(quote); + Assert(source != NULL); + Assert(quote != '\0'); src = dst = source; @@ -299,8 +299,8 @@ quote_if_needed(const char *source, const char *entails_quote, char *dst; bool need_quotes = false; - psql_assert(source); - psql_assert(quote); + Assert(source != NULL); + Assert(quote != '\0'); src = source; dst = ret = pg_malloc(2 * strlen(src) + 3); /* excess */ diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index 18a2595a3e013bf44291f01d00892642dd2a708f..86d0f2e365ced44cea77fb04fa65c78c19fb5543 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -3558,7 +3558,7 @@ complete_from_list(const char *text, int state) const char *item; /* need to have a list */ - psql_assert(completion_charpp); + Assert(completion_charpp != NULL); /* Initialization */ if (state == 0) @@ -3620,7 +3620,7 @@ complete_from_list(const char *text, int state) static char * complete_from_const(const char *text, int state) { - psql_assert(completion_charp); + Assert(completion_charp != NULL); if (state == 0) { if (completion_case_sensitive) @@ -3708,7 +3708,7 @@ complete_from_files(const char *text, int state) /* expect a NULL return for the empty string only */ if (!unquoted_text) { - psql_assert(!*text); + Assert(*text == '\0'); unquoted_text = text; } } diff --git a/src/include/postgres_fe.h b/src/include/postgres_fe.h index fcfbd31d35c93c17f2644c1de6fa8b322b8f53d0..8fd580fbf75f1d3953998ac77c3ab91da24d147a 100644 --- a/src/include/postgres_fe.h +++ b/src/include/postgres_fe.h @@ -24,4 +24,16 @@ #include "c.h" +/* + * Assert() can be used in both frontend and backend code. In frontend code it + * just calls the standard assert, if it's available. If use of assertions is + * not configured, it does nothing. + */ +#ifdef USE_ASSERT_CHECKING +#include +#define Assert(p) assert(p) +#else +#define Assert(p) +#endif + #endif /* POSTGRES_FE_H */