summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2023-03-10 17:48:32 +0100
committerThomas Haller <thaller@redhat.com>2023-03-21 15:58:38 +0100
commit037b0a2b2a904eb1c4922ef982586f70bbb4b423 (patch)
tree24fa1c1da33b45f0b011ec98226d3772a1f256c5
parentcf1963a3798bff9e98bb8aca2ef4d4e5aa3ba627 (diff)
glib-aux/prioq: minor cleanups for NMPrioq
-rw-r--r--src/libnm-glib-aux/nm-prioq.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/libnm-glib-aux/nm-prioq.c b/src/libnm-glib-aux/nm-prioq.c
index b8e85b659a..f548f60089 100644
--- a/src/libnm-glib-aux/nm-prioq.c
+++ b/src/libnm-glib-aux/nm-prioq.c
@@ -132,8 +132,7 @@ swap(NMPrioq *q, unsigned j, unsigned k)
nm_assert(!q->_priv.items[j].idx || *(q->_priv.items[j].idx) == j);
nm_assert(!q->_priv.items[k].idx || *(q->_priv.items[k].idx) == k);
- NM_SWAP(&q->_priv.items[j].data, &q->_priv.items[k].data);
- NM_SWAP(&q->_priv.items[j].idx, &q->_priv.items[k].idx);
+ NM_SWAP(&q->_priv.items[j], &q->_priv.items[k]);
if (q->_priv.items[j].idx)
*q->_priv.items[j].idx = j;
@@ -213,7 +212,7 @@ nm_prioq_put(NMPrioq *q, void *data, unsigned *idx)
_nm_assert_q(q);
nm_assert(q->_priv.n_items < G_MAXUINT);
- if (q->_priv.n_items >= q->_priv.n_allocated) {
+ if (G_UNLIKELY(q->_priv.n_items >= q->_priv.n_allocated)) {
q->_priv.n_allocated = NM_MAX((q->_priv.n_items + 1u) * 2u, 16u);
q->_priv.items = g_renew(PrioqItem, q->_priv.items, q->_priv.n_allocated);
}
@@ -224,6 +223,7 @@ nm_prioq_put(NMPrioq *q, void *data, unsigned *idx)
.data = data,
.idx = idx,
};
+
if (idx)
*idx = k;
@@ -246,8 +246,9 @@ remove_item(NMPrioq *q, PrioqItem *i)
return;
}
- /* Not last entry, let's replace the last entry with
- * this one, and reshuffle */
+ /* Not last entry, let's replace this entry with the last one, and
+ * reshuffle */
+
k = i - q->_priv.items;
*i = *l;
@@ -259,7 +260,7 @@ remove_item(NMPrioq *q, PrioqItem *i)
shuffle_up(q, k);
}
-_nm_pure static PrioqItem *
+static PrioqItem *
find_item(NMPrioq *q, void *data, unsigned *idx)
{
PrioqItem *i;