|
|
|
|
@ -262,17 +262,6 @@ wc_iscased_libc_mb(pg_wchar wc, pg_locale_t locale) |
|
|
|
|
iswlower_l((wint_t) wc, locale->lt); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static bool |
|
|
|
|
char_is_cased_libc(char ch, pg_locale_t locale) |
|
|
|
|
{ |
|
|
|
|
bool is_multibyte = pg_database_encoding_max_length() > 1; |
|
|
|
|
|
|
|
|
|
if (is_multibyte && IS_HIGHBIT_SET(ch)) |
|
|
|
|
return true; |
|
|
|
|
else |
|
|
|
|
return isalpha_l((unsigned char) ch, locale->lt); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static pg_wchar |
|
|
|
|
toupper_libc_sb(pg_wchar wc, pg_locale_t locale) |
|
|
|
|
{ |
|
|
|
|
@ -345,7 +334,6 @@ static const struct ctype_methods ctype_methods_libc_sb = { |
|
|
|
|
.wc_ispunct = wc_ispunct_libc_sb, |
|
|
|
|
.wc_isspace = wc_isspace_libc_sb, |
|
|
|
|
.wc_isxdigit = wc_isxdigit_libc_sb, |
|
|
|
|
.char_is_cased = char_is_cased_libc, |
|
|
|
|
.wc_iscased = wc_iscased_libc_sb, |
|
|
|
|
.wc_toupper = toupper_libc_sb, |
|
|
|
|
.wc_tolower = tolower_libc_sb, |
|
|
|
|
@ -371,7 +359,6 @@ static const struct ctype_methods ctype_methods_libc_other_mb = { |
|
|
|
|
.wc_ispunct = wc_ispunct_libc_sb, |
|
|
|
|
.wc_isspace = wc_isspace_libc_sb, |
|
|
|
|
.wc_isxdigit = wc_isxdigit_libc_sb, |
|
|
|
|
.char_is_cased = char_is_cased_libc, |
|
|
|
|
.wc_iscased = wc_iscased_libc_sb, |
|
|
|
|
.wc_toupper = toupper_libc_sb, |
|
|
|
|
.wc_tolower = tolower_libc_sb, |
|
|
|
|
@ -393,7 +380,6 @@ static const struct ctype_methods ctype_methods_libc_utf8 = { |
|
|
|
|
.wc_ispunct = wc_ispunct_libc_mb, |
|
|
|
|
.wc_isspace = wc_isspace_libc_mb, |
|
|
|
|
.wc_isxdigit = wc_isxdigit_libc_mb, |
|
|
|
|
.char_is_cased = char_is_cased_libc, |
|
|
|
|
.wc_iscased = wc_iscased_libc_mb, |
|
|
|
|
.wc_toupper = toupper_libc_mb, |
|
|
|
|
.wc_tolower = tolower_libc_mb, |
|
|
|
|
|