commit:     c7d98c2f2c2d98f8296139b19fd3920bc9e5c3fb
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Jan  2 14:06:35 2020 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Jan  2 14:06:35 2020 +0000
URL:        https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=c7d98c2f

quse: push search atom down to tree_foreach_pkg when applicable

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

 quse.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/quse.c b/quse.c
index a8585be..358d9e0 100644
--- a/quse.c
+++ b/quse.c
@@ -426,16 +426,9 @@ quse_results_cb(tree_pkg_ctx *pkg_ctx, void *priv)
        int portdirfd = -1;  /* pacify compiler */
 
        if (state->match || state->do_describe) {
-               atom = tree_get_atom(pkg_ctx, 0);
+               atom = tree_get_atom(pkg_ctx, false);
                if (atom == NULL)
                        return 0;
-
-               if (state->match) {
-                       match = atom_compare(atom, state->match) == EQUAL;
-
-                       if (!match)
-                               return 0;
-               }
        }
 
        if (!state->do_licence) {
@@ -719,14 +712,15 @@ int quse_main(int argc, char **argv)
        } else if (state.do_installed) {
                tree_ctx *t = tree_open_vdb(portroot, portvdb);
                state.overlay = NULL;
-               tree_foreach_pkg_sorted(t, quse_results_cb, &state, NULL);
+               tree_foreach_pkg_sorted(t, quse_results_cb, &state, 
state.match);
                tree_close(t);
        } else {
                array_for_each(overlays, n, overlay) {
                        tree_ctx *t = tree_open(portroot, overlay);
                        state.overlay = overlay;
                        if (t != NULL) {
-                               tree_foreach_pkg_sorted(t, quse_results_cb, 
&state, NULL);
+                               tree_foreach_pkg_sorted(t, quse_results_cb,
+                                               &state, state.match);
                                tree_close(t);
                        }
                }

Reply via email to