[Python-checkins] bpo-35636: Remove redundant check in unicode_hash(). (GH-11402)
Serhiy Storchaka
webhook-mailer at python.org
Wed Jan 2 07:16:12 EST 2019
https://github.com/python/cpython/commit/a1d14253066f7dd60cfb465c6511fa565f312b42
commit: a1d14253066f7dd60cfb465c6511fa565f312b42
branch: master
author: animalize <animalize at users.noreply.github.com>
committer: Serhiy Storchaka <storchaka at gmail.com>
date: 2019-01-02T14:16:06+02:00
summary:
bpo-35636: Remove redundant check in unicode_hash(). (GH-11402)
_Py_HashBytes() does the check for empty string.
files:
M Objects/unicodeobject.c
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 06338fac2b28..f1dcfe9ab72a 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -11656,7 +11656,6 @@ unicode_getitem(PyObject *self, Py_ssize_t index)
static Py_hash_t
unicode_hash(PyObject *self)
{
- Py_ssize_t len;
Py_uhash_t x; /* Unsigned for defined overflow behavior. */
#ifdef Py_DEBUG
@@ -11666,15 +11665,7 @@ unicode_hash(PyObject *self)
return _PyUnicode_HASH(self);
if (PyUnicode_READY(self) == -1)
return -1;
- len = PyUnicode_GET_LENGTH(self);
- /*
- We make the hash of the empty string be 0, rather than using
- (prefix ^ suffix), since this slightly obfuscates the hash secret
- */
- if (len == 0) {
- _PyUnicode_HASH(self) = 0;
- return 0;
- }
+
x = _Py_HashBytes(PyUnicode_DATA(self),
PyUnicode_GET_LENGTH(self) * PyUnicode_KIND(self));
_PyUnicode_HASH(self) = x;
More information about the Python-checkins
mailing list