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. Thanks, Jonathan