commit: 7bbb7d1237d4fc6380c29059c7b0531d2adf0ee4
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 29 15:03:18 2021 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Apr 29 15:03:18 2021 +0000
URL: https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=7bbb7d12
libq/tree: return all pkgs found in Packages file, whether or not existant
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
libq/tree.c | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
diff --git a/libq/tree.c b/libq/tree.c
index e692ee9..f66059b 100644
--- a/libq/tree.c
+++ b/libq/tree.c
@@ -1374,18 +1374,13 @@ tree_foreach_packages(tree_ctx *ctx, tree_pkg_cb
callback, void *priv)
cat->pkg_ctxs = NULL;
tree_close_cat(cat);
}
- pkg.cat_ctx = cat = tree_open_cat(ctx,
atom->CATEGORY);
+ cat = tree_open_cat(ctx,
atom->CATEGORY);
if (cat == NULL) {
- /* probably dir doesn't exist
or something, skip
- * this one */
- memset(&meta, 0, sizeof(meta));
- if (len > 0) { /* hop over \n
*/
- p++;
- len--;
- }
- ctx->pkgs = c;
- continue;
+ /* probably dir doesn't exist
or something,
+ * generate a dummy cat */
+ cat = tree_open_cat(ctx, ".");
}
+ pkg.cat_ctx = cat;
cat->pkg_ctxs = (tree_pkg_ctx **)atom;
/* for name */
}
pkgnamelen = snprintf(pkgname, sizeof(pkgname),