mercurial/manifest.py
changeset 31364 91874c247d61
parent 31352 667e88568087
child 31365 28e3471a21ef
equal deleted inserted replaced
31363:d0014d2d7645 31364:91874c247d61
   121             return data[0]
   121             return data[0]
   122         self.pos += 1
   122         self.pos += 1
   123         zeropos = data.find('\x00', pos)
   123         zeropos = data.find('\x00', pos)
   124         return data[pos:zeropos]
   124         return data[pos:zeropos]
   125 
   125 
       
   126     __next__ = next
       
   127 
   126 class lazymanifestiterentries(object):
   128 class lazymanifestiterentries(object):
   127     def __init__(self, lm):
   129     def __init__(self, lm):
   128         self.lm = lm
   130         self.lm = lm
   129         self.pos = 0
   131         self.pos = 0
   130 
   132 
   143         hashval = unhexlify(data, self.lm.extrainfo[self.pos],
   145         hashval = unhexlify(data, self.lm.extrainfo[self.pos],
   144                             zeropos + 1, 40)
   146                             zeropos + 1, 40)
   145         flags = self.lm._getflags(data, self.pos, zeropos)
   147         flags = self.lm._getflags(data, self.pos, zeropos)
   146         self.pos += 1
   148         self.pos += 1
   147         return (data[pos:zeropos], hashval, flags)
   149         return (data[pos:zeropos], hashval, flags)
       
   150 
       
   151     __next__ = next
   148 
   152 
   149 def unhexlify(data, extra, pos, length):
   153 def unhexlify(data, extra, pos, length):
   150     s = data[pos:pos + length].decode('hex')
   154     s = data[pos:pos + length].decode('hex')
   151     if extra:
   155     if extra:
   152         s += chr(extra & 0xff)
   156         s += chr(extra & 0xff)