summaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/pg_locale.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.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.c')
-rw-r--r--src/backend/utils/adt/pg_locale.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/backend/utils/adt/pg_locale.c b/src/backend/utils/adt/pg_locale.c
index 50b25445f7a..3860ada1905 100644
--- a/src/backend/utils/adt/pg_locale.c
+++ b/src/backend/utils/adt/pg_locale.c
@@ -1493,6 +1493,18 @@ pg_iswspace(pg_wchar wc, pg_locale_t locale)
return locale->ctype->wc_isspace(wc, locale);
}
+bool
+pg_iswxdigit(pg_wchar wc, pg_locale_t locale)
+{
+ if (locale->ctype == NULL)
+ return (wc <= (pg_wchar) 127 &&
+ ((pg_char_properties[wc] & PG_ISDIGIT) ||
+ ((wc >= 'A' && wc <= 'F') ||
+ (wc >= 'a' && wc <= 'f'))));
+ else
+ return locale->ctype->wc_isxdigit(wc, locale);
+}
+
pg_wchar
pg_towupper(pg_wchar wc, pg_locale_t locale)
{