summaryrefslogtreecommitdiff
path: root/src/basic/ordered-set.h
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2020-09-01 12:42:35 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2020-09-01 12:42:35 +0200
commit1f25c71d9d0b5fe6cf383c347dcebc2443a99fe1 (patch)
tree6aa730656506b2eaff58ff7ae60c14fcbf74b579 /src/basic/ordered-set.h
parentb7847e05f53cf3f071d92e9c3b46652d8396c6ed (diff)
downloadsystemd-1f25c71d9d0b5fe6cf383c347dcebc2443a99fe1.tar.gz
basic: pass allocation info for ordered_set_new() and introduce ordered_set_ensure_put()
Diffstat (limited to 'src/basic/ordered-set.h')
-rw-r--r--src/basic/ordered-set.h18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/basic/ordered-set.h b/src/basic/ordered-set.h
index a42a57eb49..2c241a808b 100644
--- a/src/basic/ordered-set.h
+++ b/src/basic/ordered-set.h
@@ -7,20 +7,16 @@
typedef struct OrderedSet OrderedSet;
-static inline OrderedSet* ordered_set_new(const struct hash_ops *ops) {
- return (OrderedSet*) ordered_hashmap_new(ops);
+static inline OrderedSet* _ordered_set_new(const struct hash_ops *ops HASHMAP_DEBUG_PARAMS) {
+ return (OrderedSet*) _ordered_hashmap_new(ops HASHMAP_DEBUG_PASS_ARGS);
}
+#define ordered_set_new(ops) _ordered_set_new(ops HASHMAP_DEBUG_SRC_ARGS)
-static inline int ordered_set_ensure_allocated(OrderedSet **s, const struct hash_ops *ops) {
- if (*s)
- return 0;
+int _ordered_set_ensure_allocated(OrderedSet **s, const struct hash_ops *ops HASHMAP_DEBUG_PARAMS);
+#define ordered_set_ensure_allocated(s, ops) _ordered_set_ensure_allocated(s, ops HASHMAP_DEBUG_SRC_ARGS)
- *s = ordered_set_new(ops);
- if (!*s)
- return -ENOMEM;
-
- return 0;
-}
+int _ordered_set_ensure_put(OrderedSet **s, const struct hash_ops *ops, void *p HASHMAP_DEBUG_PARAMS);
+#define ordered_set_ensure_put(s, hash_ops, key) _ordered_set_ensure_put(s, hash_ops, key HASHMAP_DEBUG_SRC_ARGS)
static inline OrderedSet* ordered_set_free(OrderedSet *s) {
return (OrderedSet*) ordered_hashmap_free((OrderedHashmap*) s);