diff options
Diffstat (limited to 'lib/libalpm/alpm_list.c')
-rw-r--r-- | lib/libalpm/alpm_list.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/libalpm/alpm_list.c b/lib/libalpm/alpm_list.c index 59f99f9b..a3c73aa0 100644 --- a/lib/libalpm/alpm_list.c +++ b/lib/libalpm/alpm_list.c @@ -70,11 +70,13 @@ void SYMEXPORT alpm_list_free_inner(alpm_list_t *list, alpm_list_fn_free fn) { alpm_list_t *it = list; - while(it) { - if(fn && it->data) { - fn(it->data); + if(fn) { + while(it) { + if(it->data) { + fn(it->data); + } + it = it->next; } - it = it->next; } } |