all repos — cgit @ 977a3ad7bf212e6ec7f43c16763321061ee64a69

a hyperfast web frontend for git written in c

ui-summary.c: Move urls variable into print_urls()

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 <cgit@cryptocrack.de>
Lukas Fleischer cgit@cryptocrack.de
Tue, 05 Mar 2013 16:48:27 +0100
commit

977a3ad7bf212e6ec7f43c16763321061ee64a69

parent

ef8a97d9c6983e4fc3710bdbe771edd4e3550dba

1 files changed, 14 insertions(+), 6 deletions(-)

jump to
M ui-summary.cui-summary.c

@@ -13,8 +13,6 @@ #include "ui-log.h"

#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 @@ columns++;

if (!base || !*base) return; - if (urls++ == 0) { - htmlf("<tr class='nohover'><td colspan='%d'>&nbsp;</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_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'>&nbsp;</td></tr>", columns); + htmlf("<tr><th class='left' colspan='%d'>Clone</th></tr>\n", columns); + } print_url(h, suffix); *t = c; h = t;