Diff between da79a4534b7dc6c75203b56ada4cf7ac761ecfb3 and 51e9b93d604e88a1e09ea5e20467c1fa10d5f6aa
Changed Files
| File | Additions | Deletions | Status |
| src/shared/queue.c | +9 | -2 | modified |
Full Patch
diff --git a/src/shared/queue.c b/src/shared/queue.c
index 0019e53..a7cc8d5 100644
--- a/src/shared/queue.c
+++ b/src/shared/queue.c
@@ -176,8 +176,15 @@ void queue_foreach(struct queue *queue, queue_foreach_func_t function,
if (!queue || !function)
return;
- for (entry = queue->head; entry; entry = entry->next)
- function(entry->data, user_data);
+ entry = queue->head;
+
+ while (entry) {
+ struct queue_entry *tmp = entry;
+
+ entry = tmp->next;
+
+ function(tmp->data, user_data);
+ }
}
void *queue_find(struct queue *queue, queue_match_func_t function,