summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
Diffstat (limited to 'Objects')
-rw-r--r--Objects/bytes_methods.c20
1 files changed, 3 insertions, 17 deletions
diff --git a/Objects/bytes_methods.c b/Objects/bytes_methods.c
index 05679e3..37c5f7d 100644
--- a/Objects/bytes_methods.c
+++ b/Objects/bytes_methods.c
@@ -361,23 +361,9 @@ and the rest lower-cased.");
void
_Py_bytes_capitalize(char *result, const char *s, Py_ssize_t len)
{
- Py_ssize_t i;
-
- if (0 < len) {
- int c = Py_CHARMASK(*s++);
- if (Py_ISLOWER(c))
- *result = Py_TOUPPER(c);
- else
- *result = c;
- result++;
- }
- for (i = 1; i < len; i++) {
- int c = Py_CHARMASK(*s++);
- if (Py_ISUPPER(c))
- *result = Py_TOLOWER(c);
- else
- *result = c;
- result++;
+ if (len > 0) {
+ *result = Py_TOUPPER(*s);
+ _Py_bytes_lower(result + 1, s + 1, len - 1);
}
}