From: Junio C Hamano Date: Mon, 25 Sep 2017 06:24:09 +0000 (+0900) Subject: Merge branch 'mh/for-each-string-list-item-empty-fix' X-Git-Tag: v2.15.0-rc0~56 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/48f1e49be19ab64f9dfdffa32073dd1dbbf04727?hp=6b05e611bc6c7584d1af7b56e387824f99a76713 Merge branch 'mh/for-each-string-list-item-empty-fix' Code cmp.std.c nitpick. * mh/for-each-string-list-item-empty-fix: for_each_string_list_item: avoid undefined behavior for empty list --- diff --git a/string-list.h b/string-list.h index 29bfb7ae45..79ae567cbc 100644 --- a/string-list.h +++ b/string-list.h @@ -32,8 +32,10 @@ void string_list_clear_func(struct string_list *list, string_list_clear_func_t c typedef int (*string_list_each_func_t)(struct string_list_item *, void *); int for_each_string_list(struct string_list *list, string_list_each_func_t, void *cb_data); -#define for_each_string_list_item(item,list) \ - for (item = (list)->items; item < (list)->items + (list)->nr; ++item) +#define for_each_string_list_item(item,list) \ + for (item = (list)->items; \ + item && item < (list)->items + (list)->nr; \ + ++item) /* * Apply want to each item in list, retaining only the ones for which