Author: Alex Gaynor <[email protected]>
Branch:
Changeset: r49438:89c328e7b0fa
Date: 2011-11-15 12:26 -0500
http://bitbucket.org/pypy/pypy/changeset/89c328e7b0fa/
Log: handle hashing a None rstr, fixes the test I checked in yesterday.
diff --git a/pypy/rpython/lltypesystem/rstr.py
b/pypy/rpython/lltypesystem/rstr.py
--- a/pypy/rpython/lltypesystem/rstr.py
+++ b/pypy/rpython/lltypesystem/rstr.py
@@ -331,6 +331,8 @@
# unlike CPython, there is no reason to avoid to return -1
# but our malloc initializes the memory to zero, so we use zero as the
# special non-computed-yet value.
+ if not s:
+ return 0
x = s.hash
if x == 0:
x = _hash_string(s.chars)
diff --git a/pypy/rpython/ootypesystem/rstr.py
b/pypy/rpython/ootypesystem/rstr.py
--- a/pypy/rpython/ootypesystem/rstr.py
+++ b/pypy/rpython/ootypesystem/rstr.py
@@ -116,6 +116,8 @@
return ootype.oounicode(ch, -1)
def ll_strhash(s):
+ if not s:
+ return 0
return s.ll_hash()
def ll_strfasthash(s):
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit