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;
}
}
}
if (!strcmp(all->name, deps->data)) {
llist_t *implied = all->dependencies;
while (implied) {
- /* erm, nicer would be to just
+ /* XXX:FIXME: erm, it would be nicer to just
* llist_unlink(&mods->dependencies, implied) */
llist_t *prune = mods->dependencies;
while (prune) {