aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2014-03-24 15:59:38 -0400
committerBruce Momjian <bruce@momjian.us>2014-03-24 15:59:38 -0400
commit5db55c6bbca28b8be4d68d2fa0e22465cfe8e755 (patch)
tree6aca0d629f94219eb40da989f441f61214fd5038 /src
parent0b5c0f3bc78d72b753387f84b9188709af3ef8fb (diff)
downloadpostgresql-5db55c6bbca28b8be4d68d2fa0e22465cfe8e755.tar.gz
postgresql-5db55c6bbca28b8be4d68d2fa0e22465cfe8e755.zip
Remove wchar.c Asserts that were stricter than the main code
Assert errors were thrown for functions being passed invalid encodings, while the main code handled it just fine. Also document that libpq's PQclientEncoding() returns -1 for an encoding lookup failure. Per report from Peter Geoghegan
Diffstat (limited to 'src')
-rw-r--r--src/backend/utils/mb/wchar.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/src/backend/utils/mb/wchar.c b/src/backend/utils/mb/wchar.c
index 6d03a10854e..5f65f1bc899 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)));
}
/*