]> git.decadent.org.uk Git - ion3.git/blobdiff - libtu/objlist.c
[svn-upgrade] Integrating new upstream version, ion3 (20070506)
[ion3.git] / libtu / objlist.c
index 643f3fa30e59a303b02a3580e7b5252e414a0aeb..9d5062f4100e86b90d10bc6e0c09b337b95bc256 100644 (file)
@@ -136,6 +136,12 @@ static ObjList *objlist_find_node(ObjList *objlist, Obj *obj)
 }
 
 
+bool objlist_contains(ObjList *objlist, Obj *obj)
+{
+    return (objlist_find_node(objlist, obj)!=NULL);
+}
+
+
 bool objlist_insert_last(ObjList **objlist, Obj *obj)
 {
     ObjList *node=reuse(objlist);
@@ -177,7 +183,7 @@ bool objlist_reinsert_last(ObjList **objlist, Obj *obj)
     node=objlist_find_node(*objlist, obj);
     
     if(node==NULL)
-        return FALSE;
+        return objlist_insert_last(objlist, obj);
     
     UNLINK_ITEM(*objlist, node, next, prev);
     LINK_ITEM_LAST(*objlist, node, next, prev);
@@ -195,7 +201,7 @@ bool objlist_reinsert_first(ObjList **objlist, Obj *obj)
     node=objlist_find_node(*objlist, obj);
     
     if(node==NULL)
-        return FALSE;
+        return objlist_insert_first(objlist, obj);
     
     UNLINK_ITEM(*objlist, node, next, prev);
     LINK_ITEM_FIRST(*objlist, node, next, prev);