Linear output is especially useful when piped to other commands, e.g.

  $ pacman -Qi $(pactree -l pacman) >/dev/null

The above command would previously show errors on packages with provisions.

Signed-off-by: Pierre Neidhardt <[email protected]>
---
 src/util/pactree.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/util/pactree.c b/src/util/pactree.c
index 4192999..6c620aa 100644
--- a/src/util/pactree.c
+++ b/src/util/pactree.c
@@ -363,10 +363,13 @@ static void print_text(const char *pkg, const char 
*provision,
        }
 
        /* print tip */
+       /* If style->provides is empty (e.g. when using linear style), we do not
+        * want to print the provided package. This makes output easier to 
parse and
+        * to reuse. */
        if(!pkg && provision) {
                printf("%s%s%s%s [unresolvable]%s\n", tip, color->leaf1,
                                provision, color->branch1, color->off);
-       } else if(provision && strcmp(pkg, provision) != 0) {
+       } else if(provision && strcmp(pkg, provision) != 0 && 
*(style->provides) != '\0') {
                printf("%s%s%s%s%s %s%s%s\n", tip, color->leaf1, pkg,
                                color->leaf2, style->provides, color->leaf1, 
provision,
                                color->off);
-- 
1.8.5.3


Reply via email to