From 3853a6956c3e3bc7a6fa9bcdb205a2997f46bac2 Mon Sep 17 00:00:00 2001 From: Jeff Davis Date: Wed, 29 Oct 2025 14:17:13 -0700 Subject: Use C11 char16_t and char32_t for Unicode code points. Reviewed-by: Tatsuo Ishii Reviewed-by: Thomas Munro Reviewed-by: Peter Eisentraut Discussion: https://postgr.es/m/bedcc93d06203dfd89815b10f815ca2de8626e85.camel%40j-davis.com --- src/fe_utils/mbprint.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/fe_utils/mbprint.c') diff --git a/src/fe_utils/mbprint.c b/src/fe_utils/mbprint.c index eb3eeee9925..abffdbe18a2 100644 --- a/src/fe_utils/mbprint.c +++ b/src/fe_utils/mbprint.c @@ -49,20 +49,20 @@ pg_get_utf8_id(void) * * No error checks here, c must point to a long-enough string. */ -static pg_wchar +static char32_t utf8_to_unicode(const unsigned char *c) { if ((*c & 0x80) == 0) - return (pg_wchar) c[0]; + return (char32_t) c[0]; else if ((*c & 0xe0) == 0xc0) - return (pg_wchar) (((c[0] & 0x1f) << 6) | + return (char32_t) (((c[0] & 0x1f) << 6) | (c[1] & 0x3f)); else if ((*c & 0xf0) == 0xe0) - return (pg_wchar) (((c[0] & 0x0f) << 12) | + return (char32_t) (((c[0] & 0x0f) << 12) | ((c[1] & 0x3f) << 6) | (c[2] & 0x3f)); else if ((*c & 0xf8) == 0xf0) - return (pg_wchar) (((c[0] & 0x07) << 18) | + return (char32_t) (((c[0] & 0x07) << 18) | ((c[1] & 0x3f) << 12) | ((c[2] & 0x3f) << 6) | (c[3] & 0x3f)); -- cgit v1.2.3