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;
}
Example #2
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;
}