From 6dd613f1bcf323507c7c6a6131bfb5a985a06c85 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Tue, 24 Jun 2014 12:07:00 +0200 Subject: [PATCH] string_list: Add string_list_for_each_entry macro To ease iterating over a string_list. Signed-off-by: Sascha Hauer --- include/stringlist.h | 3 +++ lib/stringlist.c | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/include/stringlist.h b/include/stringlist.h index 8738137c8..127998cb6 100644 --- a/include/stringlist.h +++ b/include/stringlist.h @@ -29,4 +29,7 @@ static inline void string_list_free(struct string_list *sl) } } +#define string_list_for_each_entry(entry, sl) \ + list_for_each_entry(entry, &(sl)->list, list) + #endif /* __STRINGLIST_H */ diff --git a/lib/stringlist.c b/lib/stringlist.c index a8af15d75..cc84944f7 100644 --- a/lib/stringlist.c +++ b/lib/stringlist.c @@ -64,7 +64,7 @@ int string_list_contains(struct string_list *sl, char *str) { struct string_list *entry; - list_for_each_entry(entry, &sl->list, list) { + string_list_for_each_entry(entry, sl) { if (!strcmp(str, entry->str)) return 1; } @@ -77,7 +77,7 @@ void string_list_print_by_column(struct string_list *sl) int len = 0, num, i; struct string_list *entry; - list_for_each_entry(entry, &sl->list, list) { + string_list_for_each_entry(entry, sl) { int l = strlen(entry->str) + 4; if (l > len) len = l; @@ -91,7 +91,7 @@ void string_list_print_by_column(struct string_list *sl) num = 1; i = 0; - list_for_each_entry(entry, &sl->list, list) { + string_list_for_each_entry(entry, sl) { if (!(++i % num)) printf("%s\n", entry->str); else