aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2019-05-10 18:40:50 +0200
committerFabian Groffen <grobian@gentoo.org>2019-05-10 18:40:50 +0200
commitc7e04780a3161d6e8785c175680751839f9d768b (patch)
treeee14b5bc9de29e028ba11011a39035478f563a38
parentREADME: update after maintainer mode addition (diff)
downloadportage-utils-c7e04780.tar.gz
portage-utils-c7e04780.tar.bz2
portage-utils-c7e04780.zip
qgrep: use tree_get_atom
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
-rw-r--r--qgrep.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/qgrep.c b/qgrep.c
index 8e240f3e..2db61df7 100644
--- a/qgrep.c
+++ b/qgrep.c
@@ -391,9 +391,7 @@ qgrep_cache_cb(tree_pkg_ctx *pkg_ctx, void *priv)
int ret;
int pfd;
- snprintf(buf, sizeof(buf), "%s/%s",
- pkg_ctx->cat_ctx->name, pkg_ctx->name);
- patom = atom_explode(buf);
+ patom = tree_get_atom(pkg_ctx, false);
if (patom == NULL)
return EXIT_FAILURE;
@@ -403,10 +401,8 @@ qgrep_cache_cb(tree_pkg_ctx *pkg_ctx, void *priv)
if (atom_compare(patom, *d) == EQUAL)
break;
}
- if (*d == NULL) {
- atom_implode(patom);
+ if (*d == NULL)
return EXIT_FAILURE;
- }
}
/* need to construct path in portdir to ebuild, pass it to grep */
@@ -423,6 +419,7 @@ qgrep_cache_cb(tree_pkg_ctx *pkg_ctx, void *priv)
label = NULL;
if (data->show_name) {
+ /* this is a super-optimisation, should get it from the full atom */
char *repo = data->show_repo ? cctx->repo : NULL;
snprintf(name, sizeof(name), "%s%s/%s%s%s%s%s%s",
BOLD, patom->CATEGORY, BLUE, patom->P, GREEN,
@@ -434,8 +431,6 @@ qgrep_cache_cb(tree_pkg_ctx *pkg_ctx, void *priv)
ret = qgrep_grepat(pfd, buf, label, data);
- atom_implode(patom);
-
return ret;
}
@@ -450,9 +445,7 @@ qgrep_vdb_cb(tree_pkg_ctx *pkg_ctx, void *priv)
int ret;
int pfd;
- snprintf(buf, sizeof(buf), "%s/%s",
- pkg_ctx->cat_ctx->name, pkg_ctx->name);
- patom = atom_explode(buf);
+ patom = tree_get_atom(pkg_ctx, false);
if (patom == NULL)
return EXIT_FAILURE;
@@ -487,8 +480,6 @@ qgrep_vdb_cb(tree_pkg_ctx *pkg_ctx, void *priv)
ret = qgrep_grepat(pfd, buf, label, data);
- atom_implode(patom);
-
return ret;
}