|
|
|
@ -450,7 +450,12 @@ strlower_libc_sb(char *dest, size_t destsize, const char *src, ssize_t srclen, |
|
|
|
for (p = dest; *p; p++) |
|
|
|
for (p = dest; *p; p++) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (locale->is_default) |
|
|
|
if (locale->is_default) |
|
|
|
*p = pg_tolower((unsigned char) *p); |
|
|
|
{ |
|
|
|
|
|
|
|
if (*p >= 'A' && *p <= 'Z') |
|
|
|
|
|
|
|
*p += 'a' - 'A'; |
|
|
|
|
|
|
|
else if (IS_HIGHBIT_SET(*p) && isupper_l(*p, loc)) |
|
|
|
|
|
|
|
*p = tolower_l((unsigned char) *p, loc); |
|
|
|
|
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
*p = tolower_l((unsigned char) *p, loc); |
|
|
|
*p = tolower_l((unsigned char) *p, loc); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -535,9 +540,19 @@ strtitle_libc_sb(char *dest, size_t destsize, const char *src, ssize_t srclen, |
|
|
|
if (locale->is_default) |
|
|
|
if (locale->is_default) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (wasalnum) |
|
|
|
if (wasalnum) |
|
|
|
*p = pg_tolower((unsigned char) *p); |
|
|
|
{ |
|
|
|
|
|
|
|
if (*p >= 'A' && *p <= 'Z') |
|
|
|
|
|
|
|
*p += 'a' - 'A'; |
|
|
|
|
|
|
|
else if (IS_HIGHBIT_SET(*p) && isupper_l(*p, loc)) |
|
|
|
|
|
|
|
*p = tolower_l((unsigned char) *p, loc); |
|
|
|
|
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
*p = pg_toupper((unsigned char) *p); |
|
|
|
{ |
|
|
|
|
|
|
|
if (*p >= 'a' && *p <= 'z') |
|
|
|
|
|
|
|
*p -= 'a' - 'A'; |
|
|
|
|
|
|
|
else if (IS_HIGHBIT_SET(*p) && islower_l(*p, loc)) |
|
|
|
|
|
|
|
*p = toupper_l((unsigned char) *p, loc); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
{ |
|
|
|
{ |
|
|
|
@ -633,7 +648,12 @@ strupper_libc_sb(char *dest, size_t destsize, const char *src, ssize_t srclen, |
|
|
|
for (p = dest; *p; p++) |
|
|
|
for (p = dest; *p; p++) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (locale->is_default) |
|
|
|
if (locale->is_default) |
|
|
|
*p = pg_toupper((unsigned char) *p); |
|
|
|
{ |
|
|
|
|
|
|
|
if (*p >= 'a' && *p <= 'z') |
|
|
|
|
|
|
|
*p -= 'a' - 'A'; |
|
|
|
|
|
|
|
else if (IS_HIGHBIT_SET(*p) && islower_l(*p, loc)) |
|
|
|
|
|
|
|
*p = toupper_l((unsigned char) *p, loc); |
|
|
|
|
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
*p = toupper_l((unsigned char) *p, loc); |
|
|
|
*p = toupper_l((unsigned char) *p, loc); |
|
|
|
} |
|
|
|
} |
|
|
|
|