use EINA_LIST_FREE for list deletion
authorenglebass <englebass@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 20 Oct 2010 20:39:38 +0000 (20:39 +0000)
committerenglebass <englebass@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 20 Oct 2010 20:39:38 +0000 (20:39 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/efreet@53690 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/efreet_private.h

index 21969b3..5cc58c8 100644 (file)
@@ -65,11 +65,10 @@ void *alloca (size_t);
  * If x is a valid pointer destroy x and set to NULL
  */
 #define IF_FREE_LIST(list, free_cb) do { \
-    while (list) \
-    { \
-        free_cb(eina_list_data_get(list)); \
-        list = eina_list_remove_list(list, list); \
-    } \
+    void *_data; \
+    EINA_LIST_FREE(list, _data) \
+        free_cb(_data); \
+    list = NULL; \
 } while (0)
 
 /**