aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils/adt')
-rw-r--r--src/backend/utils/adt/pg_locale.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/backend/utils/adt/pg_locale.c b/src/backend/utils/adt/pg_locale.c
index ec14bad4e34..7fe10e284aa 100644
--- a/src/backend/utils/adt/pg_locale.c
+++ b/src/backend/utils/adt/pg_locale.c
@@ -1623,8 +1623,8 @@ icu_set_collation_attributes(UCollator *collator, const char *loc)
{
char *name;
char *value;
- UColAttribute uattr = -1;
- UColAttributeValue uvalue = -1;
+ UColAttribute uattr;
+ UColAttributeValue uvalue;
UErrorCode status;
status = U_ZERO_ERROR;
@@ -1650,7 +1650,9 @@ icu_set_collation_attributes(UCollator *collator, const char *loc)
uattr = UCOL_NORMALIZATION_MODE;
else if (strcmp(name, "colnumeric") == 0)
uattr = UCOL_NUMERIC_COLLATION;
- /* ignore if unknown */
+ else
+ /* ignore if unknown */
+ continue;
if (strcmp(value, "primary") == 0)
uvalue = UCOL_PRIMARY;
@@ -1677,7 +1679,7 @@ icu_set_collation_attributes(UCollator *collator, const char *loc)
else
status = U_ILLEGAL_ARGUMENT_ERROR;
- if (uattr != -1 && uvalue != -1)
+ if (status == U_ZERO_ERROR)
ucol_setAttribute(collator, uattr, uvalue, &status);
/*