diff options
Diffstat (limited to 'lib/libalpm/list.c')
-rw-r--r-- | lib/libalpm/list.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/libalpm/list.c b/lib/libalpm/list.c index 632ee2a3..0e1c9426 100644 --- a/lib/libalpm/list.c +++ b/lib/libalpm/list.c @@ -42,13 +42,15 @@ PMList *_alpm_list_new() return(list); } -void _alpm_list_free(PMList *list) +void _alpm_list_free(PMList *list, _alpm_fn_free fn) { PMList *ptr, *it = list; while(it) { ptr = it->next; - free(it->data); + if(fn) { + fn(it->data); + } free(it); it = ptr; } |