mirror of
https://github.com/systemd/systemd.git
synced 2025-03-11 20:58:27 +03:00
prioq: introduce prioq_ensure_put()
This commit is contained in:
parent
aa3f8d4ca1
commit
5bff20ea62
@ -173,6 +173,16 @@ int prioq_put(Prioq *q, void *data, unsigned *idx) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int prioq_ensure_put(Prioq **q, compare_func_t compare_func, void *data, unsigned *idx) {
|
||||
int r;
|
||||
|
||||
r = prioq_ensure_allocated(q, compare_func);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
return prioq_put(*q, data, idx);
|
||||
}
|
||||
|
||||
static void remove_item(Prioq *q, struct prioq_item *i) {
|
||||
struct prioq_item *l;
|
||||
|
||||
|
@ -16,6 +16,7 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(Prioq*, prioq_free);
|
||||
int prioq_ensure_allocated(Prioq **q, compare_func_t compare_func);
|
||||
|
||||
int prioq_put(Prioq *q, void *data, unsigned *idx);
|
||||
int prioq_ensure_put(Prioq **q, compare_func_t compare_func, void *data, unsigned *idx);
|
||||
int prioq_remove(Prioq *q, void *data, unsigned *idx);
|
||||
int prioq_reshuffle(Prioq *q, void *data, unsigned *idx);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user