commit: 0dd41363d51b4d49fd5db414a4680d30ec78edd2
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun May 12 09:58:24 2019 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun May 12 09:58:24 2019 +0000
URL: https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=0dd41363
quse: use tree_get_atom and atom_format
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
quse.c | 32 ++++++++++++--------------------
1 file changed, 12 insertions(+), 20 deletions(-)
diff --git a/quse.c b/quse.c
index 6def799..c7fbe81 100644
--- a/quse.c
+++ b/quse.c
@@ -420,16 +420,12 @@ quse_results_cb(tree_pkg_ctx *pkg_ctx, void *priv)
int portdirfd = -1; /* pacify compiler */
if (state->match || verbose) {
- snprintf(buf, sizeof(buf), "%s/%s",
- pkg_ctx->cat_ctx->name, pkg_ctx->name);
- atom = atom_explode(buf);
+ atom = tree_get_atom(pkg_ctx, 0);
if (atom == NULL)
return 0;
if (state->match) {
match = atom_compare(atom, state->match) == EQUAL;
- if (!verbose || !match)
- atom_implode(atom);
if (!match)
return 0;
@@ -517,13 +513,17 @@ quse_results_cb(tree_pkg_ctx *pkg_ctx, void *priv)
}
if (match) {
- char *repo = state->do_repo ? pkg_ctx->repo : NULL;
+ const char *qfmt;
+
+ atom = tree_get_atom(pkg_ctx, state->do_repo);
+ if (state->do_repo) {
+ qfmt = "%[CATEGORY]%[PF]%[REPO]";
+ } else {
+ qfmt = "%[CATEGORY]%[PF]";
+ }
if (quiet) {
- printf("%s%s/%s%s%s%s%s%s\n", BOLD,
pkg_ctx->cat_ctx->name,
- BLUE, pkg_ctx->name,
- repo ? RED : "", repo ? "::" : "", repo
? repo : "",
- NORM);
+ printf("%s\n", atom_format(qfmt, atom, 0));
} else if (verbose && !state->do_licence) {
/* multi-line result, printing USE-flags with their
descs */
struct quse_state us = {
@@ -537,10 +537,7 @@ quse_results_cb(tree_pkg_ctx *pkg_ctx, void *priv)
.overlay = NULL,
};
- printf("%s%s/%s%s%s%s%s%s\n", BOLD,
pkg_ctx->cat_ctx->name,
- BLUE, pkg_ctx->name,
- repo ? RED : "", repo ? "::" : "", repo
? repo : "",
- NORM);
+ printf("%s\n", atom_format(qfmt, atom, 0));
q = p = meta->IUSE;
buf[0] = '\0';
@@ -584,16 +581,11 @@ quse_results_cb(tree_pkg_ctx *pkg_ctx, void *priv)
free(us.retv);
free(us.argv);
} else {
- printf("%s%s/%s%s%s%s%s%s: %s\n", BOLD,
pkg_ctx->cat_ctx->name,
- BLUE, pkg_ctx->name,
- repo ? RED : "", repo ? "::" : "", repo
? repo : "",
- NORM, v);
+ printf("%s: %s\n", atom_format(qfmt, atom, 0), v);
}
}
tree_close_meta(meta);
- if (state->match && verbose)
- atom_implode(atom);
if (verbose)
close(portdirfd);