There's no need for this variable to be global. Printing the header in print_urls() instead of print_url() allows for moving this variable into print_urls() without having to pass any status to print_url().
Note that this only works as long as we don't call print_urls() more than once. Signed-off-by: Lukas Fleischer <c...@cryptocrack.de> --- I am aware of the "columns" code duplication caused by the last two patches. In order to keep commits atomic, I will deal with those in an upcoming patch set. ui-summary.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/ui-summary.c b/ui-summary.c index 38639ce..0754bb7 100644 --- a/ui-summary.c +++ b/ui-summary.c @@ -13,8 +13,6 @@ #include "ui-refs.h" #include "ui-blob.h" -int urls = 0; - static void print_url(char *base, char *suffix) { int columns = 3; @@ -26,10 +24,6 @@ static void print_url(char *base, char *suffix) if (!base || !*base) return; - if (urls++ == 0) { - htmlf("<tr class='nohover'><td colspan='%d'> </td></tr>", columns); - htmlf("<tr><th class='left' colspan='%d'>Clone</th></tr>\n", columns); - } if (suffix && *suffix) base = fmt("%s/%s", base, suffix); htmlf("<tr><td colspan='%d'><a href='", columns); @@ -42,15 +36,29 @@ static void print_url(char *base, char *suffix) static void print_urls(char *txt, char *suffix) { char *h = txt, *t, c; + int urls = 0; + int columns = 3; + + if (ctx.repo->enable_log_filecount) + columns++; + if (ctx.repo->enable_log_linecount) + columns++; + while (h && *h) { while (h && *h == ' ') h++; + if (!*h) + break; t = h; while (t && *t && *t != ' ') t++; c = *t; *t = 0; + if (urls++ == 0) { + htmlf("<tr class='nohover'><td colspan='%d'> </td></tr>", columns); + htmlf("<tr><th class='left' colspan='%d'>Clone</th></tr>\n", columns); + } print_url(h, suffix); *t = c; h = t; -- 1.8.2.rc2.352.g908df73 _______________________________________________ cgit mailing list cgit@hjemli.net http://hjemli.net/mailman/listinfo/cgit