Re: [PATCH v2] for_each_string_list_item: avoid undefined behavior for empty list
On Sep 20 2017, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 20 quoted lines
> Andreas Schwab wrote:
>> On Sep 19 2017, Jonathan Nieder <jrnieder@gmail.com> wrote:
>
>>> 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.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."