aboutsummaryrefslogtreecommitdiff
path: root/src/list.c
diff options
context:
space:
mode:
authorGravatar Jonas Gunz <himself@jonasgunz.de> 2021-09-21 21:57:26 +0200
committerGravatar Jonas Gunz <himself@jonasgunz.de> 2021-09-21 21:57:26 +0200
commit13293d178731bba7d77123e57bc08925d285d522 (patch)
tree8f016fa188cec8a0215c961c1cc832c2b4bdcd4a /src/list.c
parentca197d7fc187e205a0e733be1722e6e8e03515c2 (diff)
downloaddns-13293d178731bba7d77123e57bc08925d285d522.tar.gz
list: add length and tests
Diffstat (limited to 'src/list.c')
-rw-r--r--src/list.c15
1 files changed, 13 insertions, 2 deletions
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 ) {