about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2009-08-24 07:42:03 +0200
committerLars Hjemli <hjemli@gmail.com>2009-08-24 10:22:58 +0200
commite01229cf80bc618a132d2154c0ebd71792d31c64 (patch)
tree62aa3f02166f7f4b6cdf866a4916b53921ed3ecf
parentAdd support for repo-local cgitrc file (diff)
downloadcgit-pink-e01229cf80bc618a132d2154c0ebd71792d31c64.tar.gz
cgit-pink-e01229cf80bc618a132d2154c0ebd71792d31c64.zip
ui-repolist: handle empty sections similar to NULL sections
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--cgit.c1
-rw-r--r--ui-repolist.c18
2 files changed, 12 insertions, 7 deletions
diff --git a/cgit.c b/cgit.c
index e281aa9..167b5dd 100644
--- a/cgit.c
+++ b/cgit.c
@@ -269,6 +269,7 @@ static void prepare_context(struct cgit_context *ctx)
 	ctx->cfg.root_title = "Git repository browser";
 	ctx->cfg.root_desc = "a fast webinterface for the git dscm";
 	ctx->cfg.script_name = CGIT_SCRIPT_NAME;
+	ctx->cfg.section = "";
 	ctx->cfg.summary_branches = 10;
 	ctx->cfg.summary_log = 10;
 	ctx->cfg.summary_tags = 10;
diff --git a/ui-repolist.c b/ui-repolist.c
index d56654d..3ef2e99 100644
--- a/ui-repolist.c
+++ b/ui-repolist.c
@@ -217,6 +217,7 @@ void cgit_print_repolist()
 {
 	int i, columns = 4, hits = 0, header = 0;
 	char *last_section = NULL;
+	char *section;
 	int sorted = 0;
 
 	if (ctx.cfg.enable_index_links)
@@ -247,19 +248,22 @@ void cgit_print_repolist()
 			continue;
 		if (!header++)
 			print_header(columns);
+		section = ctx.repo->section;
+		if (section && !strcmp(section, ""))
+			section = NULL;
 		if (!sorted &&
-		    ((last_section == NULL && ctx.repo->section != NULL) ||
-		    (last_section != NULL && ctx.repo->section == NULL) ||
-		    (last_section != NULL && ctx.repo->section != NULL &&
-		     strcmp(ctx.repo->section, last_section)))) {
+		    ((last_section == NULL && section != NULL) ||
+		    (last_section != NULL && section == NULL) ||
+		    (last_section != NULL && section != NULL &&
+		     strcmp(section, last_section)))) {
 			htmlf("<tr class='nohover'><td colspan='%d' class='reposection'>",
 			      columns);
-			html_txt(ctx.repo->section);
+			html_txt(section);
 			html("</td></tr>");
-			last_section = ctx.repo->section;
+			last_section = section;
 		}
 		htmlf("<tr><td class='%s'>",
-		      !sorted && ctx.repo->section ? "sublevel-repo" : "toplevel-repo");
+		      !sorted && section ? "sublevel-repo" : "toplevel-repo");
 		cgit_summary_link(ctx.repo->name, ctx.repo->name, NULL, NULL);
 		html("</td><td>");
 		html_link_open(cgit_repourl(ctx.repo->url), NULL, NULL);