aboutsummaryrefslogtreecommitdiff
path: root/src/list.c
diff options
context:
space:
mode:
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 ) {