Signed-off-by: Bartosz Golaszewski <[email protected]>
---
include/libbb.h | 1 +
libbb/llist.c | 13 +++++++++++++
2 files changed, 14 insertions(+)
diff --git a/include/libbb.h b/include/libbb.h
index a1a0dc1..42fa30a 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -1052,6 +1052,7 @@ void llist_unlink(llist_t **head, llist_t *elm) FAST_FUNC;
void llist_free(llist_t *elm, void (*freeit)(void *data)) FAST_FUNC;
llist_t *llist_rev(llist_t *list) FAST_FUNC;
llist_t *llist_find_str(llist_t *first, const char *str) FAST_FUNC;
+size_t llist_size(llist_t *list) FAST_FUNC;
/* BTW, surprisingly, changing API to
* llist_t *llist_add_to(llist_t *old_head, void *data)
* etc does not result in smaller code... */
diff --git a/libbb/llist.c b/libbb/llist.c
index 032e9fa..e2d86b0 100644
--- a/libbb/llist.c
+++ b/libbb/llist.c
@@ -96,3 +96,16 @@ llist_t* FAST_FUNC llist_find_str(llist_t *list, const char
*str)
}
return list;
}
+
+/* Count elements in the list. */
+size_t FAST_FUNC llist_size(llist_t *list)
+{
+ size_t size = 0;
+
+ while (list) {
+ list = list->link;
+ ++size;
+ }
+
+ return size;
+}
--
1.9.1
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox