Commit a7b52ec6 authored by Guido van Rossum's avatar Guido van Rossum

added capitalize()

parent eca0d103
...@@ -367,6 +367,50 @@ strop_upper(self, args) ...@@ -367,6 +367,50 @@ strop_upper(self, args)
} }
static object *
strop_capitalize(self, args)
object *self; /* Not used */
object *args;
{
char *s, *s_new;
int i, n;
object *new;
int changed;
if (!getargs(args, "s#", &s, &n))
return NULL;
new = newsizedstringobject(NULL, n);
if (new == NULL)
return NULL;
s_new = getstringvalue(new);
changed = 0;
{
int c = Py_CHARMASK(*s++);
if (islower(c)) {
changed = 1;
*s_new = toupper(c);
} else
*s_new = c;
s_new++;
}
for (i = 1; i < n; i++) {
int c = Py_CHARMASK(*s++);
if (isupper(c)) {
changed = 1;
*s_new = tolower(c);
} else
*s_new = c;
s_new++;
}
if (!changed) {
DECREF(new);
INCREF(args);
return args;
}
return new;
}
static object * static object *
strop_swapcase(self, args) strop_swapcase(self, args)
object *self; /* Not used */ object *self; /* Not used */
...@@ -538,6 +582,7 @@ static struct methodlist strop_methods[] = { ...@@ -538,6 +582,7 @@ static struct methodlist strop_methods[] = {
{"atof", strop_atof}, {"atof", strop_atof},
{"atoi", strop_atoi}, {"atoi", strop_atoi},
{"atol", strop_atol}, {"atol", strop_atol},
{"capitalize", strop_capitalize},
{"find", strop_find}, {"find", strop_find},
{"join", strop_joinfields, 1}, {"join", strop_joinfields, 1},
{"joinfields", strop_joinfields, 1}, {"joinfields", strop_joinfields, 1},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment