[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