unsigned n;
struct prioq_item *j;
- n = MAX((q->n_items+1) * 2, 16);
+ n = MAX((q->n_items+1) * 2, 16u);
j = realloc(q->items, sizeof(struct prioq_item) * n);
if (!j)
return -ENOMEM;
}
}
-static struct prioq_item* find_item(Prioq *q, void *data, unsigned *idx) {
+_pure_ static struct prioq_item* find_item(Prioq *q, void *data, unsigned *idx) {
struct prioq_item *i;
assert(q);
if (idx) {
- if (*idx > q->n_items)
+ if (*idx == PRIOQ_IDX_NULL ||
+ *idx > q->n_items)
return NULL;
i = q->items + *idx;
return 0;
return q->n_items;
-
}
+
bool prioq_isempty(Prioq *q) {
if (!q)