aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2020-01-02 12:43:10 +0100
committerFabian Groffen <grobian@gentoo.org>2020-01-02 12:43:10 +0100
commit74a6ea62eb1b9c9ab4c6ed3402e9c7d7e618ceb4 (patch)
tree2d54942f6270d07e99e5115214ac104538411566
parentlibq/tree: have tree_foreach_pkg take a query atom (diff)
downloadportage-utils-74a6ea62.tar.gz
portage-utils-74a6ea62.tar.bz2
portage-utils-74a6ea62.zip
libq/tree: activate atom query
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
-rw-r--r--libq/tree.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/libq/tree.c b/libq/tree.c
index 8996e55..0fdf9b1 100644
--- a/libq/tree.c
+++ b/libq/tree.c
@@ -1192,8 +1192,7 @@ tree_close_pkg(tree_pkg_ctx *pkg_ctx)
}
static int
-tree_foreach_packages(tree_ctx *ctx, tree_pkg_cb callback,
- void *priv, depend_atom *query)
+tree_foreach_packages(tree_ctx *ctx, tree_pkg_cb callback, void *priv)
{
char *p = ctx->pkgs;
char *q;
@@ -1201,6 +1200,7 @@ tree_foreach_packages(tree_ctx *ctx, tree_pkg_cb callback,
char pkgname[_Q_PATH_MAX];
size_t len = ctx->pkgslen;
int ret = 0;
+ depend_atom *query = ctx->query_atom;
/* reused for every entry */
tree_cat_ctx *cat = NULL;
@@ -1323,11 +1323,12 @@ tree_foreach_pkg(tree_ctx *ctx, tree_pkg_cb callback, void *priv,
if (ctx == NULL)
return EXIT_FAILURE;
+ ctx->do_sort = sort;
+ ctx->query_atom = query;
+
/* handle Packages (binpkgs index) file separately */
if (ctx->cachetype == CACHE_PACKAGES)
- return tree_foreach_packages(ctx, callback, priv, query);
-
- ctx->do_sort = sort;
+ return tree_foreach_packages(ctx, callback, priv);
ret = 0;
while ((cat_ctx = tree_next_cat(ctx))) {