From d9e8197e60a6ffea1fd470aa746f6cc4849dac72 Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Mon, 15 Oct 2012 15:38:46 -0400 Subject: pactree: unify output between utf8 and ascii Ensure that both output formats have equal spacing, and therefore an equivalent layout. This change also removes the styling from the toplevel package being searched for. Signed-off-by: Dave Reisner Signed-off-by: Allan McRae --- src/util/pactree.c | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/src/util/pactree.c b/src/util/pactree.c index 1ed40250..7b8fd93d 100644 --- a/src/util/pactree.c +++ b/src/util/pactree.c @@ -56,15 +56,15 @@ static struct graph_style graph_utf8 = { UTF_VR UTF_H, UTF_UR UTF_H, UTF_V " ", - 3 + 2 }; static struct graph_style graph_default = { " provides", - "|--", - "`--", + "|-", + "`-", "|", - 3 + 2 }; static struct graph_style graph_linear = { @@ -335,25 +335,29 @@ static void cleanup(void) static void print_text(const char *pkg, const char *provision, tdepth *depth, int last) { - const char* tip = last ? style->last : style->tip; + const char* tip = ""; int level = 0; if(!pkg && !provision) { /* not much we can do */ return; } - /* print limbs */ - while(depth->prev) { - depth = depth->prev; - } - printf("%s", color->branch1); - while(depth->next){ - printf("%*s%-*s", style->indent * (depth->level - level), "", - style->indent, style->limb); - level = depth->level + 1; - depth = depth->next; + if(depth->level > 0) { + tip = last ? style->last : style->tip; + + /* print limbs */ + while(depth->prev) { + depth = depth->prev; + } + printf("%s", color->branch1); + while(depth->next){ + printf("%*s%-*s", style->indent * (depth->level - level), "", + style->indent, style->limb); + level = depth->level + 1; + depth = depth->next; + } + printf("%*s", style->indent * (depth->level - level), ""); } - printf("%*s", style->indent * (depth->level - level), ""); /* print tip */ if(!pkg && provision) { -- cgit v1.2.3-24-g4f1b