aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/mb/mbutils.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils/mb/mbutils.c')
-rw-r--r--src/backend/utils/mb/mbutils.c24
1 files changed, 9 insertions, 15 deletions
diff --git a/src/backend/utils/mb/mbutils.c b/src/backend/utils/mb/mbutils.c
index c13f947a827..7108ab89836 100644
--- a/src/backend/utils/mb/mbutils.c
+++ b/src/backend/utils/mb/mbutils.c
@@ -1188,24 +1188,18 @@ static bool
raw_pg_bind_textdomain_codeset(const char *domainname, int encoding)
{
bool elog_ok = (CurrentMemoryContext != NULL);
- int i;
- for (i = 0; pg_enc2gettext_tbl[i].name != NULL; i++)
- {
- if (pg_enc2gettext_tbl[i].encoding == encoding)
- {
- if (bind_textdomain_codeset(domainname,
- pg_enc2gettext_tbl[i].name) != NULL)
- return true;
+ if (!PG_VALID_ENCODING(encoding) || pg_enc2gettext_tbl[encoding] == NULL)
+ return false;
- if (elog_ok)
- elog(LOG, "bind_textdomain_codeset failed");
- else
- write_stderr("bind_textdomain_codeset failed");
+ if (bind_textdomain_codeset(domainname,
+ pg_enc2gettext_tbl[encoding]) != NULL)
+ return true;
- break;
- }
- }
+ if (elog_ok)
+ elog(LOG, "bind_textdomain_codeset failed");
+ else
+ write_stderr("bind_textdomain_codeset failed");
return false;
}