- add FIXME. Perhaps somebody is interrested in looking into this one.

We would try to be clever and compare the *data instead of the *elt.

Somethink like this might be of more general use:
/* Unlink arbitrary element from the list that contains data */
void llist_unlink_data(llist_t **head, void *data)
{
    llist_t *elt;

    for (elt = *head; elt; elt = elt->link) {
        if (elt->data == data) {
            llist_unlink(elt);
            return;
        }
    }
}
This commit is contained in:
Bernhard Reutner-Fischer 2008-06-02 19:23:47 +00:00
parent c2741e1f72
commit 6075b2aee0

View File

@ -221,7 +221,7 @@ int depmod_main(int ATTRIBUTE_UNUSED argc, char **argv)
if (!strcmp(all->name, deps->data)) { if (!strcmp(all->name, deps->data)) {
llist_t *implied = all->dependencies; llist_t *implied = all->dependencies;
while (implied) { while (implied) {
/* erm, nicer would be to just /* XXX:FIXME: erm, it would be nicer to just
* llist_unlink(&mods->dependencies, implied) */ * llist_unlink(&mods->dependencies, implied) */
llist_t *prune = mods->dependencies; llist_t *prune = mods->dependencies;
while (prune) { while (prune) {