Use uint32_t for all packed object counts.
As we permit up to 2^32-1 objects in a single packfile we cannot use a signed int to represent the object offset within a packfile, after 2^31-1 objects we will start seeing negative indexes and error out or compute bad addresses within the mmap'd index. This is a minor cleanup that does not introduce any significant logic changes. It is roach free. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:

committed by
Junio C Hamano

parent
3a55602eec
commit
326bf39677
@ -76,10 +76,10 @@ static int find_short_packed_object(int len, const unsigned char *match, unsigne
|
||||
|
||||
prepare_packed_git();
|
||||
for (p = packed_git; p && found < 2; p = p->next) {
|
||||
unsigned num = num_packed_objects(p);
|
||||
unsigned first = 0, last = num;
|
||||
uint32_t num = num_packed_objects(p);
|
||||
uint32_t first = 0, last = num;
|
||||
while (first < last) {
|
||||
unsigned mid = (first + last) / 2;
|
||||
uint32_t mid = (first + last) / 2;
|
||||
unsigned char now[20];
|
||||
int cmp;
|
||||
|
||||
|
Reference in New Issue
Block a user