summaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/pg_locale_builtin.c
diff options
context:
space:
mode:
authorJeff Davis <jdavis@postgresql.org>2025-10-18 16:25:11 -0700
committerJeff Davis <jdavis@postgresql.org>2025-10-18 16:25:11 -0700
commit67a8b49e96caf0782b556521c8d6650e78f2d88e (patch)
treefc7ac80c779d294d9c2c08e1614e175b31cc7d8f /src/backend/utils/adt/pg_locale_builtin.c
parentda44d71e799d5b3f03256169334044ad817c1dd7 (diff)
Add pg_iswxdigit(), useful for tsearch.
Reviewed-by: Peter Eisentraut <peter@eisentraut.org> Discussion: https://postgr.es/m/0151ad01239e2cc7b3139644358cf8f7b9622ff7.camel@j-davis.com
Diffstat (limited to 'src/backend/utils/adt/pg_locale_builtin.c')
-rw-r--r--src/backend/utils/adt/pg_locale_builtin.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/backend/utils/adt/pg_locale_builtin.c b/src/backend/utils/adt/pg_locale_builtin.c
index 526ab3c6711..3dc611b50e1 100644
--- a/src/backend/utils/adt/pg_locale_builtin.c
+++ b/src/backend/utils/adt/pg_locale_builtin.c
@@ -164,6 +164,12 @@ wc_isspace_builtin(pg_wchar wc, pg_locale_t locale)
}
static bool
+wc_isxdigit_builtin(pg_wchar wc, pg_locale_t locale)
+{
+ return pg_u_isxdigit(wc, !locale->builtin.casemap_full);
+}
+
+static bool
char_is_cased_builtin(char ch, pg_locale_t locale)
{
return IS_HIGHBIT_SET(ch) ||
@@ -196,6 +202,7 @@ static const struct ctype_methods ctype_methods_builtin = {
.wc_isprint = wc_isprint_builtin,
.wc_ispunct = wc_ispunct_builtin,
.wc_isspace = wc_isspace_builtin,
+ .wc_isxdigit = wc_isxdigit_builtin,
.char_is_cased = char_is_cased_builtin,
.wc_tolower = wc_tolower_builtin,
.wc_toupper = wc_toupper_builtin,