X-Git-Url: https://git.decadent.org.uk/gitweb/?p=ion3.git;a=blobdiff_plain;f=libtu%2Fobjlist.c;h=9d5062f4100e86b90d10bc6e0c09b337b95bc256;hp=643f3fa30e59a303b02a3580e7b5252e414a0aeb;hb=ae4260bb64817c11f9a7140324cd3e3ba113e297;hpb=de22e45179cb3bafa490294d31d47f361047a30a diff --git a/libtu/objlist.c b/libtu/objlist.c index 643f3fa..9d5062f 100644 --- a/libtu/objlist.c +++ b/libtu/objlist.c @@ -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);