diff options
Diffstat (limited to 'priority_queue.c')
| -rw-r--r-- | priority_queue.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/priority_queue.c b/priority_queue.c index 1cf0ac0..79377c3 100644 --- a/priority_queue.c +++ b/priority_queue.c @@ -55,8 +55,12 @@ void ppq_insert(PositionPQ *ppq, Position pos, size_t priority) { } Position ppq_pop(PositionPQ *ppq) { - (void)ppq; - todo(); + Position pos = ppq->pos; + ppq->next->prev = NULL; + PositionPQ *next = ppq->next; + free(ppq); + ppq = next; + return pos; } void ppq_reprioritize(PositionPQ *ppq, Position pos, size_t priority) { |
