Commit 90682f31 authored by Tim Peters's avatar Tim Peters

Removed legacy [Uup]64 code (for use under Pythons before 2.2).

parent 634c5d32
...@@ -22,48 +22,20 @@ from types import StringType ...@@ -22,48 +22,20 @@ from types import StringType
z64 = '\0'*8 z64 = '\0'*8
t32 = 1L << 32 t32 = 1L << 32
if sys.hexversion >= 0x02020000: assert sys.hexversion >= 0x02020000
# Note that the distinction between ints and longs is blurred in # The distinction between ints and longs is blurred in Python 2.2,
# Python 2.2. So make u64() and U64() the same. # so u64() are U64() really the same.
def p64(v): def p64(v):
"""Pack an integer or long into a 8-byte string""" """Pack an integer or long into a 8-byte string"""
return pack(">Q", v) return pack(">Q", v)
def u64(v): def u64(v):
"""Unpack an 8-byte string into a 64-bit long integer.""" """Unpack an 8-byte string into a 64-bit long integer."""
return unpack(">Q", v)[0] return unpack(">Q", v)[0]
U64 = u64 U64 = u64
else:
def p64(v):
"""Pack an integer or long into a 8-byte string"""
if v < t32:
h = 0
else:
h, v = divmod(v, t32)
return pack(">II", h, v)
def u64(v):
"""Unpack an 8-byte string into a 64-bit (or long) integer."""
h, v = unpack(">ii", v)
if v < 0:
v = t32 + v
if h:
if h < 0:
h= t32 + h
v = (long(h) << 32) + v
return v
def U64(v):
"""Same as u64 but always returns a long."""
h, v = unpack(">II", v)
if h:
v = (long(h) << 32) + v
return v
def cp(f1, f2, l): def cp(f1, f2, l):
read = f1.read read = f1.read
......
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