
30 Mar
2022
30 Mar
'22
7:07 p.m.
On Wed, Mar 30, 2022 at 8:01 PM Andy Shevchenko andy.shevchenko@gmail.com wrote:
On Wed, Mar 30, 2022 at 7:49 PM Sean Anderson seanga2@gmail.com 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