On Fri, Jul 7, 2017 at 6:39 AM, Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> wrote: > - if (__head) { \ > - do { int __nr; \ > - for (__nr = 0; __nr < __list->nr; __nr++) { \ > - do { \ > - ptr = PTR_ENTRY(__list,__nr); \ > - do { > + if (!__head) break; \ > + do { int __nr; \ > + for (__nr = 0; __nr < __list->nr; __nr++) { \ > + ptr = PTR_ENTRY(__list,__nr); \ > > #define DO_END_FOR_EACH(ptr, __head, __list, __nr) \ > - } while (0); \ > - } while (0); \ > - } \ > - } while ((__list = __list->next) != __head); \ > - } \ > + } \ > + } while ((__list = __list->next) != __head); \ > } while (0) I think the extra "do {} while (0)" is there to prevent the FOR_EACH paring with END_FOR_EACH_REVERSE() and vise versa. Chris -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html