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

Lukas Fleischer cgit at cryptocrack.de
Tue Mar 5 16:48:27 CET 2013


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 at 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





More information about the CGit mailing list