commit:     87da6d2047647112228af91f55dd2a51db727440
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 27 14:52:38 2026 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Tue Jan 27 14:52:38 2026 +0000
URL:        https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=87da6d20

libq/set: prepare for new API

Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 TODO.md    |  1 +
 libq/set.h | 30 ++++++++++++++++++++++++++++++
 2 files changed, 31 insertions(+)

diff --git a/TODO.md b/TODO.md
index bc386a1a..8d2609e7 100644
--- a/TODO.md
+++ b/TODO.md
@@ -13,6 +13,7 @@
   qlist can query for maintainer email or type, ideally to do
   qlist -Iv $(portageq --repo gentoo --orphaned) in one step (bug 711466#c3)
 - handle compressed Packages.gz file in tree
+- rename atom\_ctx to atom\_t and similar for all structures like array
 
 # tests
 - add test for qsearch to avoid repetitions like

diff --git a/libq/set.h b/libq/set.h
index 2175b0ac..dc3c5ac7 100644
--- a/libq/set.h
+++ b/libq/set.h
@@ -41,4 +41,34 @@ size_t cnt_set(set *q);
 void free_set(set *q);
 void clear_set(set *q);
 
+/* 2026 forward API */
+typedef struct set_t set_t;
+#define set_new()              create_set()
+#define set_add(S,K)           add_set(K,S)
+#define set_add_unique(S,K,U)  add_set_unique(K,S,U)
+#define set_contains(S,K)      (contains_set(K,S) == NULL ? false : true)
+#define set_get_key(S,K)       contains_set(K,S)
+#define set_delete(S,K)        del_set(K,S,NULL)
+#if 0
+#define set_keys(S)            TODO
+#endif
+#define set_size(S)            cnt_set(S)
+#define set_clear(S)           clear_set(S)
+#define set_free(S)            free_set(S)
+
+typedef struct set_t hash_t;
+#define hash_new()             create_set()
+#define hash_add(S,K,V,P)      add_set_value(K,V,P,S)
+#define hash_get(S,K)          get_set(K,S)
+#define hash_delete(S,K)       del_set(K,S,NULL)
+#define hash_delete_chk(S,K,R) del_set(K,S,R)
+#if 0
+#define hash_keys(S)           TODO
+#define hash_values(S)         TODO
+#endif
+#define hash_size(S)           cnt_set(S)
+#define hash_clear(S)          clear_set(S)
+#define hash_free(S)           free_set(S)
+
+
 #endif

Reply via email to