Commit a1d14253 authored by animalize's avatar animalize Committed by Serhiy Storchaka

bpo-35636: Remove redundant check in unicode_hash(). (GH-11402)

_Py_HashBytes() does the check for empty string.
parent f8b53447
......@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment