On Sep 20 2017, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote: > Andreas Schwab wrote: >> On Sep 19 2017, Jonathan Nieder <jrnieder@xxxxxxxxx> 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@xxxxxxxxxxxxxx GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."