On Tue, 27 Jun 2017 18:11:16 +0200
Gaetan Rivet <gaetan.ri...@6wind.com> wrote:

> +     int start_found = !!(start == NULL);
> +
> +     FOREACH_DEVICE_ON_PCIBUS(dev) {
> +             if (!start_found) {
> +                     if (&dev->device == start)
> +                             start_found = 1;
> +                     continue;
> +             }
> +             if (cmp(&dev->device, data) == 0)
> +                     return &dev->device;
> +     }
> +     return NULL;
> +}
> +

Why is start_found not a boolean?

Do you really need start_found at all? Why not just reuse existing
pointer?

        FOREACH_DEVICE_ON_PCIBUS(dev) {
                if (start) {
                        if (&dev->device == start)
                                start = NULL
                        continue;
                }
                if (cmp(&dev->device, data) == 0)
                        return &dev->device;
        }
        return NULL;
}

Reply via email to