/** * xmlListReverseSearch: * @param l a list * @param data a search value * * Search the list in reverse order for an existing value of data * * Returns the value associated to data or NULL in case of error */ void * xmlListReverseSearch(xmlListPtr list, void *data) { xmlLinkPtr lk; lk = xmlListLinkReverseSearch(list, data); if (lk) return (lk->data); return NULL; }
/** * xmlListReverseSearch: * @l: a list * @data: a search value * * Search the list in reverse order for an existing value of @data * * Returns the value associated to @data or NULL in case of error */ void * xmlListReverseSearch(xmlListPtr l, void *data) { xmlLinkPtr lk; if (l == NULL) return(NULL); lk = xmlListLinkReverseSearch(l, data); if (lk) return (lk->data); return NULL; }
/** * xmlListRemoveLast: * @param l a list * @param data list data * * Remove the last instance associated to data in the list * * Returns 1 if a deallocation occured, or 0 if not found */ int xmlListRemoveLast(xmlListPtr list, void *data) { xmlLinkPtr lk; /*Find the last instance of this data */ lk = xmlListLinkReverseSearch(list, data); if (lk != NULL) { xmlLinkDeallocator(list, lk); return 1; } return 0; }
int xmlListRemoveLast(xmlListPtr l, void *data) { xmlLinkPtr lk; if (l == NULL) return(0); lk = xmlListLinkReverseSearch(l, data); if (lk != NULL) { xmlLinkDeallocator(l, lk); return 1; } return 0; }