Issue #13738: Simplify implementation of bytes.lower() and bytes.upper().
diff --git a/Misc/NEWS b/Misc/NEWS
index fbc6f67..d8ffec4 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,8 @@
Core and Builtins
-----------------
+- Issue #13738: Simplify implementation of bytes.lower() and bytes.upper().
+
- Issue #13577: Built-in methods and functions now have a __qualname__.
Patch by sbt.
diff --git a/Objects/bytes_methods.c b/Objects/bytes_methods.c
index 7233cea..ef3c2f7 100644
--- a/Objects/bytes_methods.c
+++ b/Objects/bytes_methods.c
@@ -248,12 +248,8 @@
{
Py_ssize_t i;
- Py_MEMCPY(result, cptr, len);
-
for (i = 0; i < len; i++) {
- int c = Py_CHARMASK(result[i]);
- if (Py_ISUPPER(c))
- result[i] = Py_TOLOWER(c);
+ result[i] = Py_TOLOWER((unsigned char) cptr[i]);
}
}
@@ -268,12 +264,8 @@
{
Py_ssize_t i;
- Py_MEMCPY(result, cptr, len);
-
for (i = 0; i < len; i++) {
- int c = Py_CHARMASK(result[i]);
- if (Py_ISLOWER(c))
- result[i] = Py_TOUPPER(c);
+ result[i] = Py_TOUPPER((unsigned char) cptr[i]);
}
}