Re: [PATCH v4 2/2] bsearch: prevent overflow when computing middle comparison element

Thiago Farina
2009-11-11T15:28:22Z

On Wed, Nov 11, 2009 at 1:09 PM, Thiago Farina <tfransosi@gmail.com> wrote:
> On Tue, Nov 10, 2009 at 1:00 PM, André Goddard Rosa
> <andre.goddard@gmail.com> wrote:
>>  void *bsearch(const void *key, const void *base, size_t num, size_t size,
>>              int (*cmp)(const void *key, const void *elt))
>>  {
>> -       int start = 0, end = num, mid, result;
>> +       size_t start = 0, end = num;
>> +       int result;
>>
>>        while (start < end) {
>> -               mid = (start + end) / 2;
>> +               size_t mid = start + (end - start) / 2;
> I think it is more readable if you could keep the mid variable outside
> of the while loop.
>
I mean: size_t start = 0, end = num, mid;