int biglist_locked_remove_link_free(biglist_locked_t* bl, biglist_t* blink) { biglist_lock(bl); bl->list = biglist_remove_link(bl->list, blink); biglist_unlock(bl); biglist_free(blink); return 0; }
biglist_t* biglist_remove(biglist_t* bl, const void* data) { biglist_t* ble; /* Find the data */ for(ble = bl; ble && ble->data != data; ble = ble->next); if(ble != NULL) { bl = biglist_remove_link(bl, ble); aim_free(ble); } return bl; }