refactor use for loop to remove item from linked list

This commit is contained in:
chme 2015-05-13 11:37:09 +02:00
parent 3886ec6638
commit baffe49887

View File

@ -51,13 +51,18 @@ listener_remove(notify notify_cb)
struct listener *listener; struct listener *listener;
struct listener *prev; struct listener *prev;
listener = listener_list;
prev = NULL; prev = NULL;
for (listener = listener_list; listener; listener = listener->next)
while (listener)
{ {
if (listener->notify_cb == notify_cb) if (listener->notify_cb == notify_cb)
{ break;
prev = listener;
}
if (!listener)
return 0;
if (prev) if (prev)
prev->next = listener->next; prev->next = listener->next;
else else
@ -67,13 +72,6 @@ listener_remove(notify notify_cb)
return 0; return 0;
} }
prev = listener;
listener = listener->next;
}
return -1;
}
int int
listener_notify(enum listener_event_type type) listener_notify(enum listener_event_type type)
{ {