summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorGreg Price <gnprice@gmail.com>2019-09-12 18:12:22 (GMT)
committerBenjamin Peterson <benjamin@python.org>2019-09-12 18:12:22 (GMT)
commit3a4f66707e824ef3a8384827590ebaa6ca463dc0 (patch)
treeed74c3415de2582188da0fa52ac3a9ffb2ac4f63 /Python
parenta44f3dc21d8b59ceeffa7dd1d9a7c05ed6be3e04 (diff)
downloadcpython-3a4f66707e824ef3a8384827590ebaa6ca463dc0.zip
cpython-3a4f66707e824ef3a8384827590ebaa6ca463dc0.tar.gz
cpython-3a4f66707e824ef3a8384827590ebaa6ca463dc0.tar.bz2
Cut disused recode_encoding logic in _PyBytes_DecodeEscape. (GH-16013)
All call sites pass NULL for `recode_encoding`, so this path is completely untested. That's been true since before Python 3.0. It adds significant complexity to this logic, so it's best to take it out. All call sites now have a literal NULL, and that's been true since commit 768921cf3 eliminated a conditional (`foo ? bar : NULL`) at the call site in Python/ast.c where we're parsing a bytes literal. But even before then, that condition `foo` had been a constant since unadorned string literals started meaning Unicode, in commit 572dbf8f1 aka v3.0a1~1035 . The `unicode` parameter is already unused, so mark it as unused too. The code that acted on it was also taken out before Python 3.0, in commit 8d30cc014 aka v3.0a1~1031 . The function (PyBytes_DecodeEscape) is exposed in the API, but it's never been documented.
Diffstat (limited to 'Python')
-rw-r--r--Python/ast.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Python/ast.c b/Python/ast.c
index e6f7167..05147a4 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -4766,7 +4766,7 @@ decode_bytes_with_escapes(struct compiling *c, const node *n, const char *s,
size_t len)
{
const char *first_invalid_escape;
- PyObject *result = _PyBytes_DecodeEscape(s, len, NULL, 0, NULL,
+ PyObject *result = _PyBytes_DecodeEscape(s, len, NULL,
&first_invalid_escape);
if (result == NULL)
return NULL;