equal
deleted
inserted
replaced
166 self.pl = [st[:20], st[20: 40]] |
166 self.pl = [st[:20], st[20: 40]] |
167 |
167 |
168 pos = 40 |
168 pos = 40 |
169 e_size = struct.calcsize(self.format) |
169 e_size = struct.calcsize(self.format) |
170 while pos < len(st): |
170 while pos < len(st): |
171 e = struct.unpack(self.format, st[pos:pos+e_size]) |
171 newpos = pos + e_size |
|
172 e = struct.unpack(self.format, st[pos:newpos]) |
172 l = e[4] |
173 l = e[4] |
173 pos += e_size |
174 pos = newpos |
174 f = st[pos:pos + l] |
175 newpos = pos + l |
|
176 f = st[pos:newpos] |
175 if '\0' in f: |
177 if '\0' in f: |
176 f, c = f.split('\0') |
178 f, c = f.split('\0') |
177 self.copies[f] = c |
179 self.copies[f] = c |
178 self.map[f] = e[:4] |
180 self.map[f] = e[:4] |
179 pos += l |
181 pos = newpos |
180 |
182 |
181 def copy(self, source, dest): |
183 def copy(self, source, dest): |
182 self.lazyread() |
184 self.lazyread() |
183 self.markdirty() |
185 self.markdirty() |
184 self.copies[dest] = source |
186 self.copies[dest] = source |