mirror of
https://github.com/postgres/postgres.git
synced 2025-04-18 13:44:19 +03:00
Another unintentional behavior change in commit e9931bfb75.
Reported-by: Noah Misch <noah@leadboat.com> Reviewed-by: Noah Misch <noah@leadboat.com> Discussion: https://postgr.es/m/20250412123430.8c.nmisch@google.com
This commit is contained in:
parent
b107744ce7
commit
2e5353be25
@ -559,10 +559,16 @@ pg_wc_toupper(pg_wchar c)
|
||||
case PG_REGEX_STRATEGY_BUILTIN:
|
||||
return unicode_uppercase_simple(c);
|
||||
case PG_REGEX_STRATEGY_LIBC_WIDE:
|
||||
/* force C behavior for ASCII characters, per comments above */
|
||||
if (pg_regex_locale->is_default && c <= (pg_wchar) 127)
|
||||
return pg_ascii_toupper((unsigned char) c);
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return towupper_l((wint_t) c, pg_regex_locale->info.lt);
|
||||
/* FALL THRU */
|
||||
case PG_REGEX_STRATEGY_LIBC_1BYTE:
|
||||
/* force C behavior for ASCII characters, per comments above */
|
||||
if (pg_regex_locale->is_default && c <= (pg_wchar) 127)
|
||||
return pg_ascii_toupper((unsigned char) c);
|
||||
if (c <= (pg_wchar) UCHAR_MAX)
|
||||
return toupper_l((unsigned char) c, pg_regex_locale->info.lt);
|
||||
return c;
|
||||
@ -587,10 +593,16 @@ pg_wc_tolower(pg_wchar c)
|
||||
case PG_REGEX_STRATEGY_BUILTIN:
|
||||
return unicode_lowercase_simple(c);
|
||||
case PG_REGEX_STRATEGY_LIBC_WIDE:
|
||||
/* force C behavior for ASCII characters, per comments above */
|
||||
if (pg_regex_locale->is_default && c <= (pg_wchar) 127)
|
||||
return pg_ascii_tolower((unsigned char) c);
|
||||
if (sizeof(wchar_t) >= 4 || c <= (pg_wchar) 0xFFFF)
|
||||
return towlower_l((wint_t) c, pg_regex_locale->info.lt);
|
||||
/* FALL THRU */
|
||||
case PG_REGEX_STRATEGY_LIBC_1BYTE:
|
||||
/* force C behavior for ASCII characters, per comments above */
|
||||
if (pg_regex_locale->is_default && c <= (pg_wchar) 127)
|
||||
return pg_ascii_tolower((unsigned char) c);
|
||||
if (c <= (pg_wchar) UCHAR_MAX)
|
||||
return tolower_l((unsigned char) c, pg_regex_locale->info.lt);
|
||||
return c;
|
||||
|
Loading…
x
Reference in New Issue
Block a user