|
@@ -364,8 +364,9 @@ class PackData(object):
|
|
self._filename = filename
|
|
self._filename = filename
|
|
assert os.path.exists(filename), "%s is not a packfile" % filename
|
|
assert os.path.exists(filename), "%s is not a packfile" % filename
|
|
self._size = os.path.getsize(filename)
|
|
self._size = os.path.getsize(filename)
|
|
- assert self._size >= 12, "%s is too small for a packfile" % filename
|
|
|
|
- self._header_size = self._read_header()
|
|
|
|
|
|
+ self._header_size = 12
|
|
|
|
+ assert self._size >= self._header_size, "%s is too small for a packfile" % filename
|
|
|
|
+ self._read_header()
|
|
|
|
|
|
def _read_header(self):
|
|
def _read_header(self):
|
|
f = open(self._filename, 'rb')
|
|
f = open(self._filename, 'rb')
|
|
@@ -379,7 +380,6 @@ class PackData(object):
|
|
(version,) = struct.unpack_from(">L", header, 4)
|
|
(version,) = struct.unpack_from(">L", header, 4)
|
|
assert version in (2, 3), "Version was %d" % version
|
|
assert version in (2, 3), "Version was %d" % version
|
|
(self._num_objects,) = struct.unpack_from(">L", header, 8)
|
|
(self._num_objects,) = struct.unpack_from(">L", header, 8)
|
|
- return 12 # Header size
|
|
|
|
|
|
|
|
def __len__(self):
|
|
def __len__(self):
|
|
"""Returns the number of objects in this pack."""
|
|
"""Returns the number of objects in this pack."""
|