Andreas Schwab [off-list ref] writes:
On Sep 20 2017, Jonathan Nieder [off-list ref] wrote:
quoted
Andreas Schwab wrote:
quoted
On Sep 19 2017, Jonathan Nieder [off-list ref] wrote:
quoted
quoted
B. #define for_each_string_list_item(item, list) \
if (list->items) \
for (item = ...; ...; ... )
This breaks a caller like
if (foo)
for_each_string_list_item(item, list)
...
else
...
making it a non-starter.
That can be fixed with a dangling else.
I believe the fix you're referring to is option C, from the same email
you are replying to. If not, please correct me.
A variant thereof, yes.
Now you make me curious. How would that variant be different from
option C. in Jonathan's message? Perhaps that different version may
be a solution to work around the potential issue mentioned in the
description of option C.?