diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index 22815bc9ad8e54f09d3ed120d58f24d2c5fe8fd2..be0d602508df122b166531032578b6d6aa5cfbd7 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -5377,7 +5377,8 @@ int PQclientEncoding(const PGconn *<replaceable>conn</replaceable>); </synopsis> Note that it returns the encoding ID, not a symbolic string - such as <literal>EUC_JP</literal>. To convert an encoding ID to an encoding name, you + such as <literal>EUC_JP</literal>. If unsuccessful, it returns -1. + To convert an encoding ID to an encoding name, you can use: <synopsis> diff --git a/src/backend/utils/mb/wchar.c b/src/backend/utils/mb/wchar.c index 6d03a10854e3efc877970d135fcbf3406c935f9c..5f65f1bc89987ad7c34c9b2da5e473afe4ba1974 100644 --- a/src/backend/utils/mb/wchar.c +++ b/src/backend/utils/mb/wchar.c @@ -1778,10 +1778,7 @@ pg_mic_mblen(const unsigned char *mbstr) int pg_encoding_mblen(int encoding, const char *mbstr) { - Assert(PG_VALID_ENCODING(encoding)); - - return ((encoding >= 0 && - encoding < sizeof(pg_wchar_table) / sizeof(pg_wchar_tbl)) ? + return (PG_VALID_ENCODING(encoding) ? ((*pg_wchar_table[encoding].mblen) ((const unsigned char *) mbstr)) : ((*pg_wchar_table[PG_SQL_ASCII].mblen) ((const unsigned char *) mbstr))); } @@ -1792,10 +1789,7 @@ pg_encoding_mblen(int encoding, const char *mbstr) int pg_encoding_dsplen(int encoding, const char *mbstr) { - Assert(PG_VALID_ENCODING(encoding)); - - return ((encoding >= 0 && - encoding < sizeof(pg_wchar_table) / sizeof(pg_wchar_tbl)) ? + return (PG_VALID_ENCODING(encoding) ? ((*pg_wchar_table[encoding].dsplen) ((const unsigned char *) mbstr)) : ((*pg_wchar_table[PG_SQL_ASCII].dsplen) ((const unsigned char *) mbstr))); } @@ -1808,12 +1802,9 @@ pg_encoding_dsplen(int encoding, const char *mbstr) int pg_encoding_verifymb(int encoding, const char *mbstr, int len) { - Assert(PG_VALID_ENCODING(encoding)); - - return ((encoding >= 0 && - encoding < sizeof(pg_wchar_table) / sizeof(pg_wchar_tbl)) ? - ((*pg_wchar_table[encoding].mbverify) ((const unsigned char *) mbstr, len)) : - ((*pg_wchar_table[PG_SQL_ASCII].mbverify) ((const unsigned char *) mbstr, len))); + return (PG_VALID_ENCODING(encoding) ? + ((*pg_wchar_table[encoding].mbverify) ((const unsigned char *) mbstr, len)) : + ((*pg_wchar_table[PG_SQL_ASCII].mbverify) ((const unsigned char *) mbstr, len))); } /*