summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2012-01-08 16:22:46 +0100
committerAntoine Pitrou <solipsis@pitrou.net>2012-01-08 16:22:46 +0100
commit94f6fa62bf111916a44e336c25deeac2c490ec98 (patch)
tree520bab7fdcf7888c615f0090fc0121e07ea72727
parent69f39a53f62734d3e8dcb4bdcc217c4b3551d393 (diff)
downloadcpython-git-94f6fa62bf111916a44e336c25deeac2c490ec98.tar.gz
Issue #13738: Simplify implementation of bytes.lower() and bytes.upper().
-rw-r--r--Misc/NEWS2
-rw-r--r--Objects/bytes_methods.c12
2 files changed, 4 insertions, 10 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index fbc6f670a2..d8ffec45a7 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,8 @@ What's New in Python 3.3 Alpha 1?
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 7233cea409..ef3c2f729d 100644
--- a/Objects/bytes_methods.c
+++ b/Objects/bytes_methods.c
@@ -248,12 +248,8 @@ _Py_bytes_lower(char *result, const char *cptr, Py_ssize_t len)
{
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_bytes_upper(char *result, const char *cptr, Py_ssize_t len)
{
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]);
}
}