more descriptive error message for inlist_remove when item is not an inlist
authordiscomfitor <discomfitor@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 19 Nov 2010 05:43:28 +0000 (05:43 +0000)
committerdiscomfitor <discomfitor@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 19 Nov 2010 05:43:28 +0000 (05:43 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@54711 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/eina_inlist.c

index 9ebc623..6343907 100644 (file)
@@ -436,8 +436,12 @@ eina_inlist_remove(Eina_Inlist *list, Eina_Inlist *item)
    /* checkme */
    EINA_SAFETY_ON_NULL_RETURN_VAL(list, NULL);
    EINA_SAFETY_ON_NULL_RETURN_VAL(item, list);
-   EINA_SAFETY_ON_TRUE_RETURN_VAL
-      ((item != list) && (!item->prev) && (!item->next), list);
+   if (EINA_UNLIKELY((item != list) && (!item->prev) && (!item->next)))
+     {
+        eina_error_set(EINA_ERROR_SAFETY_FAILED);
+        EINA_LOG_ERR("safety check failed: item %p does not appear to be part of an inlist!", item);
+        return list;
+     }
 
    if (item->next)
       item->next->prev = item->prev;