* eina/src/include/eina_list.h: Add a macro for freeing each element of an Eina_List.
authorcedric <cedric>
Fri, 20 Feb 2009 16:44:26 +0000 (16:44 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 20 Feb 2009 16:44:26 +0000 (16:44 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@39109 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/include/eina_list.h

index 7da2024..e036694 100644 (file)
@@ -184,6 +184,7 @@ EAPI Eina_Accessor *eina_list_accessor_new(const Eina_List *list) EINA_MALLOC EI
  */
 #define EINA_LIST_FOREACH_SAFE(list, l, l_next, data) for (l = list, l_next = eina_list_next(l), data = eina_list_data_get(l); l; l = l_next, l_next = eina_list_next(l), data = eina_list_data_get(l))
 
+#define EINA_LIST_FREE(list, data) for (data = list ? eina_list_data_get(list) : NULL; list; list = eina_list_remove_list(list, list), data = list ? eina_list_data_get(list) : NULL)
 
 #include "eina_inline_list.x"