On Wed, Mar 30, 2022 at 8:01 PM Andy Shevchenko
<[email protected]> wrote:
> On Wed, Mar 30, 2022 at 7:49 PM Sean Anderson <[email protected]> wrote:

...

> >  #define for_each_console_dev(i, file, dev)             \
> > -       for (i = 0, dev = console_devices[file][i];     \
>
> When we enter the loop, the dev is assigned and perhaps valid
>
> > -            i < cd_count[file];                        \
> > -            i++, dev = console_devices[file][i])
> > +       for (i = 0; i < cd_count[file] &&               \
>
> Not the case anymore.
>
> > +               (dev = console_devices[file][i]); i++)

On the second look, it seems a bit unusual, but for loop checks the
condition before entering and in such case the dev will be assigned if
the count is greater than 0.
So, basically the difference is that dev is left completely
uninitialized in case of count==0. However, it may not be a problem.

Anyways, I would rather see better written for-loop that we see the iterations


-- 
With Best Regards,
Andy Shevchenko

Reply via email to