Re: [PATCH 2/2] string-list API: change "nr" and "alloc" to "size_t"
On Mon, Mar 07 2022, Derrick Stolee wrote:
Show 19 quoted lines
> On 3/7/2022 6:38 AM, Ævar Arnfjörð Bjarmason wrote:
>> Change the "nr" and "alloc" members of "struct string_list" to use
>> "size_t" instead of "nr". On some platforms the size of an "unsigned
>> int" will be smaller than a "size_t", e.g. a 32 bit unsigned v.s. 64
>> bit unsigned. As "struct string_list" is a generic API we use in a lot
>> of places this might cause overflows.
>>
>
>> printf_ln(Q_("The bundle requires this ref:",
>> - "The bundle requires these %d refs:",
>> - r->nr),
>> - r->nr);
>> + "The bundle requires these %"PRIuMAX" refs:",
>> + (unsigned long)r->nr),
>> + (uintmax_t)r->nr);
>
> There are more additions of unsigned long here, which will possibly
> truncate the size_t of r->nr. I must be missing something here that
> explains why you are making this choice.Replied to in the reply to your comment on 1/2.