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'>&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_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'>&nbsp;</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

Reply via email to