aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--idlist.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/idlist.c b/idlist.c
index 8a7a7c79..d886de6b 100644
--- a/idlist.c
+++ b/idlist.c
@@ -156,11 +156,15 @@ void str_set_mark( struct idlist **idl, const char *str, const flag val)
/** Count the number of elements in the idlist \a idl.
* \return number of elements */
-int count_list( struct idlist **idl)
+int count_list(struct idlist **idl)
{
- if( !*idl )
- return 0;
- return 1 + count_list( &(*idl)->next );
+ int i = 0;
+ struct idlist *it;
+
+ for (it = *idl ; it ; it = it->next)
+ ++i;
+
+ return i;
}
/** return the \a number'th id string on idlist \a idl */