On 9/20/19 1:10 PM, Junio C Hamano wrote:
>> diff --git a/midx.c b/midx.c
>> index b2673f52e8..54e4e93b2b 100644
>> --- a/midx.c
>> +++ b/midx.c
>> @@ -449,6 +449,8 @@ struct pack_list {
>> uint32_t nr;
>> uint32_t alloc;
>> struct multi_pack_index *m;
>> + struct progress *progress;
>> + uint32_t pack_paths_checked;
>> };
>
> What is the reason behind u32 here? Do we want to be consistently
> limited to 4G on all platforms?
>
> I have a feeling that we do not care too deeply all that much for
> the purpose of progress output, in which case, just an ordinary
> "unsigned" may be much less misleading.
I went with u32 here to match the data type used to track how many
entries are in the pack_list ('nr' is a u32).
I could switch to this to an unsigned but we would run the (extremely
unlikely) risk of having more than 65k packs on a system where
unsigned is 16 bits.
> FWIW, the function that uses this field is display_progress(), which
> takes uint64_t there.
Thanks for pointing this out. Given that display_progress() expects a
u64 using that type here for 'pack_paths_checked' could help make things
more straightforward.
-William