diff --git a/undz.py b/undz.py index 45c5ed3..54f8642 100755 --- a/undz.py +++ b/undz.py @@ -429,7 +429,8 @@ def extractSlice(self, file, name): chunk.extractChunk(file, name) # it is possible for chunks wipe area to extend beyond slice - file.truncate(self.getLength()) + if len(self.chunks) > 0: + file.truncate(self.getLength()) # write a params file for saving values used during recreate @@ -456,7 +457,7 @@ def extractSlice(self, file, name): params.close() - def __init__(self, dz, index, name, start=0x7FFFFFFFFFFFFFFF, end=0): + def __init__(self, dz, index, name, start, end): """ Initialize the instance of UNDZSlice class """ @@ -696,7 +697,7 @@ def addChunk(self, chunk): slice = self.sliceIdx[name] else: # FIXME: what if chunks out of order? - slice = UNDZSlice(self, self.slices[-1].getIndex()+1, name) + slice = UNDZSlice(self, self.slices[-1].getIndex()+1, name, chunk.getTargetStart(), chunk.getTargetEnd()) self.slices.append(slice) self.sliceIdx[name] = slice