[PATCH 1/2] string_list: Add string_list_for_each_entry macro

Sascha Hauer s.hauer at pengutronix.de
Thu Jul 3 00:40:45 PDT 2014


To ease iterating over a string_list.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 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 8738137..127998c 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 a8af15d..cc84944 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
-- 
2.0.0




More information about the barebox mailing list