Message199868
The operator module doesn't have a Python implementation of _compare_digest. This code mimicks the C code:
def _compare_digest(a, b):
if isinstance(a, str) and isinstance(b, str):
a = a.encode("ascii")
b = b.encode("ascii")
a = memoryview(a)
len_a = len(a)
right = memoryview(b)
len_b = len(right)
if len_a == len_b:
result = 0
left = a
# loop count depends on length of b
if len_a != len_b:
result = 1
left = b
for l, r in zip(left, right):
result |= l ^ r
return result == 0 |
|
Date |
User |
Action |
Args |
2013-10-14 11:30:56 | christian.heimes | set | recipients:
+ christian.heimes, pitrou, serhiy.storchaka |
2013-10-14 11:30:56 | christian.heimes | set | messageid: <1381750256.83.0.263124716214.issue19259@psf.upfronthosting.co.za> |
2013-10-14 11:30:56 | christian.heimes | link | issue19259 messages |
2013-10-14 11:30:56 | christian.heimes | create | |
|