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

Reply via email to