From 13293d178731bba7d77123e57bc08925d285d522 Mon Sep 17 00:00:00 2001 From: Jonas Gunz Date: Tue, 21 Sep 2021 21:57:26 +0200 Subject: list: add length and tests --- src/list.c | 15 +++++++++++++-- src/list.h | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/list.c b/src/list.c index 133637b..226985e 100644 --- a/src/list.c +++ b/src/list.c @@ -28,8 +28,19 @@ int list_sort ( list_element_t** _root ) { return -1; } -int list_length ( list_element_t* _root ) { - return -1; +int list_length ( list_element_t** _root ) { + list_element_t** iter = _root; + int ret = 0; + + if( !_root ) + return -1; + + while(*iter) { + ret ++; + iter = & (*iter)->next; + } + + return ret; } void* list_pop_front ( list_element_t** _root ) { diff --git a/src/list.h b/src/list.h index 71594ad..1359955 100644 --- a/src/list.h +++ b/src/list.h @@ -20,6 +20,6 @@ int list_add( list_element_t** _root, void* _data ); int list_sort ( list_element_t** _root ); -int list_length ( list_element_t* _root ); +int list_length ( list_element_t** _root ); void* list_pop_front ( list_element_t** _root ); -- cgit v1.2.3