Use pg_ascii_tolower()/pg_ascii_toupper() where appropriate.
authorJeff Davis
Tue, 1 Jul 2025 14:24:23 +0000 (07:24 -0700)
committerJeff Davis
Tue, 1 Jul 2025 14:24:23 +0000 (07:24 -0700)
Avoids unnecessary dependence on setlocale(). No behavior change.

This commit reverts e1458f2f1b, which reverted some changes
unintentionally committed before the branch for 19.

Reviewed-by: Peter Eisentraut
Discussion: https://postgr.es/m/a8666c391dfcabe79868d95f7160eac533ace718[email protected]
Discussion: https://postgr.es/m/7efaaa645aa5df3771bb47b9c35df27e08f3520e[email protected]

contrib/isn/isn.c
contrib/spi/refint.c
src/backend/commands/copyfromparse.c
src/backend/utils/adt/inet_net_pton.c

index 038c8ed4db7bddd6f799a50f1fceee64b4100f1b..1880c91844e90c8ef19dda775fefccfbfae46331 100644 (file)
@@ -726,7 +726,7 @@ string2ean(const char *str, struct Node *escontext, ean13 *result,
            if (type != INVALID)
                goto eaninvalid;
            type = ISSN;
-           *aux1++ = toupper((unsigned char) *aux2);
+           *aux1++ = pg_ascii_toupper((unsigned char) *aux2);
            length++;
        }
        else if (length == 9 && (digit || *aux2 == 'X' || *aux2 == 'x') && last)
@@ -736,7 +736,7 @@ string2ean(const char *str, struct Node *escontext, ean13 *result,
                goto eaninvalid;
            if (type == INVALID)
                type = ISBN;    /* ISMN must start with 'M' */
-           *aux1++ = toupper((unsigned char) *aux2);
+           *aux1++ = pg_ascii_toupper((unsigned char) *aux2);
            length++;
        }
        else if (length == 11 && digit && last)
index d5e25e07ae9e21074a658f5fd8552960c6ecfd9e..89898cad7b0d7701a225f3bbb310ccba5f583aa2 100644 (file)
@@ -321,7 +321,7 @@ check_foreign_key(PG_FUNCTION_ARGS)
    if (nrefs < 1)
        /* internal error */
        elog(ERROR, "check_foreign_key: %d (< 1) number of references specified", nrefs);
-   action = tolower((unsigned char) *(args[1]));
+   action = pg_ascii_tolower((unsigned char) *(args[1]));
    if (action != 'r' && action != 'c' && action != 's')
        /* internal error */
        elog(ERROR, "check_foreign_key: invalid action %s", args[1]);
index f5fc346e2013bb2332a7521d203eeb1a0ec2f920..f52f2477df1292c4a5eea20ea2cd31e64704c535 100644 (file)
@@ -1538,7 +1538,7 @@ GetDecimalFromHex(char hex)
    if (isdigit((unsigned char) hex))
        return hex - '0';
    else
-       return tolower((unsigned char) hex) - 'a' + 10;
+       return pg_ascii_tolower((unsigned char) hex) - 'a' + 10;
 }
 
 /*
index ef2236d9f0430eae68594809f5a6d2e708402991..3b0db2a379937b667d67e43f47905a47281352b1 100644 (file)
@@ -115,8 +115,7 @@ inet_cidr_pton_ipv4(const char *src, u_char *dst, size_t size)
        src++;                  /* skip x or X. */
        while ((ch = *src++) != '\0' && isxdigit((unsigned char) ch))
        {
-           if (isupper((unsigned char) ch))
-               ch = tolower((unsigned char) ch);
+           ch = pg_ascii_tolower((unsigned char) ch);
            n = strchr(xdigits, ch) - xdigits;
            assert(n >= 0 && n <= 15);
            if (dirty == 0)