Peter Baumann <Peter.B.Baumann@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> writes: >> + bits = 4; >> + size = c & 0xf; >> + while (!(c & 0x80)) { >> + if (bits >= 8*sizeof(long)) >> + return -1; >> + c = *map++; >> + size += (c & 0x7f) << bits; >> + bits += 7; >> + mapsize--; >> + } > > This doesn't match the logic used in unpack_object_header, which is used > in the packs: > ... >> + c = (type << 4) | (len & 15); >> + len >>= 4; >> + hdr_len = 1; >> + while (len) { >> + *hdr++ = c; >> + hdr_len++; >> + c = (len & 0x7f); >> + len >>= 7; >> + } >> + *hdr = c | 0x80; >> + return hdr_len; >> +} >> + > > Dito, but in this case see pack-objects.c Well, while these are not strictly needed to match, there is no good reason to make them inconsistent. Very well spotted. - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html