diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2019-11-07 14:21:52 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2019-11-07 14:21:52 -0500 |
commit | 89f56fc223f94c0e0c0347aa9fc18d1a247bc316 (patch) | |
tree | 98113fef4693190e7cafd1c5168f5271579ec974 /src/interfaces/ecpg/ecpglib/extern.h | |
parent | e4baecf1e1626139a2298395257ec1838c133d79 (diff) |
Move declaration of ecpg_gettext() to a saner place.
Declaring this in the client-visible header ecpglib.h was a pretty
poor decision. It's not meant to be application-callable (and if
it was, putting it outside the extern "C" { ... } wrapper means
that C++ clients would fail to call it). And the declaration would
not even compile for a client, anyway, since it would not have the
macro pg_attribute_format_arg(). Fortunately, it seems that no
clients have tried to include this header with ENABLE_NLS defined,
or we'd have gotten complaints about that. But we have no business
putting such a restriction on client code.
Move the declaration to ecpglib_extern.h, since in fact nothing
outside src/interfaces/ecpg/ecpglib/ needs to call it.
The practical effect of this is just that clients can now safely
#include ecpglib.h while having ENABLE_NLS defined, but that seems
like enough of a reason to back-patch it.
Discussion: https://postgr.es/m/20590.1573069709@sss.pgh.pa.us
Diffstat (limited to 'src/interfaces/ecpg/ecpglib/extern.h')
-rw-r--r-- | src/interfaces/ecpg/ecpglib/extern.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/interfaces/ecpg/ecpglib/extern.h b/src/interfaces/ecpg/ecpglib/extern.h index b55229943a8..04c81116091 100644 --- a/src/interfaces/ecpg/ecpglib/extern.h +++ b/src/interfaces/ecpg/ecpglib/extern.h @@ -206,6 +206,12 @@ void ecpg_set_compat_sqlda(int, struct sqlda_compat **, const PGresult *, int, struct sqlda_struct *ecpg_build_native_sqlda(int, PGresult *, int, enum COMPAT_MODE); void ecpg_set_native_sqlda(int, struct sqlda_struct **, const PGresult *, int, enum COMPAT_MODE); +#ifdef ENABLE_NLS +extern char *ecpg_gettext(const char *msgid) pg_attribute_format_arg(1); +#else +#define ecpg_gettext(x) (x) +#endif + /* SQLSTATE values generated or processed by ecpglib (intentionally * not exported -- users should refer to the codes directly) */ |