mirror of
https://github.com/python/cpython.git
synced 2025-08-27 04:05:34 +00:00
Fixed .capitalize() method of Unicode objects to work like the
corresponding string method. Added tests for this too. Patch written by Marc-Andre Lemburg. Copyright assigned to Guido van Rossum.
This commit is contained in:
parent
30be8708c5
commit
fde66e1bcc
3 changed files with 22 additions and 4 deletions
|
@ -2631,11 +2631,25 @@ int fixswapcase(PyUnicodeObject *self)
|
|||
static
|
||||
int fixcapitalize(PyUnicodeObject *self)
|
||||
{
|
||||
if (self->length > 0 && Py_UNICODE_ISLOWER(self->str[0])) {
|
||||
self->str[0] = Py_UNICODE_TOUPPER(self->str[0]);
|
||||
return 1;
|
||||
int len = self->length;
|
||||
Py_UNICODE *s = self->str;
|
||||
int status = 0;
|
||||
|
||||
if (len == 0)
|
||||
return 0;
|
||||
if (Py_UNICODE_ISLOWER(*s)) {
|
||||
*s = Py_UNICODE_TOUPPER(*s);
|
||||
status = 1;
|
||||
}
|
||||
return 0;
|
||||
s++;
|
||||
while (--len > 0) {
|
||||
if (Py_UNICODE_ISUPPER(*s)) {
|
||||
*s = Py_UNICODE_TOLOWER(*s);
|
||||
status = 1;
|
||||
}
|
||||
s++;
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
static
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue