Permite função free nula para liberar lista
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sat, 25 Jul 2015 19:09:12 +0000 (16:09 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sat, 25 Jul 2015 20:09:53 +0000 (17:09 -0300)
list.c

diff --git a/list.c b/list.c
index 90068e7..00b9f7c 100644 (file)
--- a/list.c
+++ b/list.c
@@ -77,7 +77,8 @@ void * list_get(struct list *list, int pos)
 void list_free(struct list *list, free_function_t *ifree)
 {
        int i;
-       for (i = 0; i < list->len; i++)
-               ifree(list->items[i].val);
+       if (ifree)
+               for (i = 0; i < list->len; i++)
+                       ifree(list->items[i].val);
        free(list);
 }