cgit

commit 9a725f4f0991710336584bb284a83dcf5fa5bf1e

Author: John Keeping <john@keeping.me.uk>

scan-tree: fix regression in section-from-path=-1

Commit fb3655d (use struct strbuf instead of static buffers -
2013-04-06) introduced a regression in the "section-from-path" handling
when the configured value is negative.  By changing the "rel" variable
so that it includes a trailing slash, counting slashes from the end of
the string no longer gives the same answer as it did before.

Fix this by ensuring that "rel" does not have a trailing slash.

Reported-by: Julius Plenz <plenz@cis.fu-berlin.de>
Signed-off-by: John Keeping <john@keeping.me.uk>

 scan-tree.c | 2 ++


diff --git a/scan-tree.c b/scan-tree.c
index beb584b5952eb9407e90fc8c580ffffdb5dc5676..a1ec8fb7ac73cbc4416245087390849d199f822c 100644
--- a/scan-tree.c
+++ b/scan-tree.c
@@ -113,6 +113,8 @@ 		strbuf_addstr(&rel, path->buf + strlen(base) + 1);
 
 	if (!strcmp(rel.buf + rel.len - 5, "/.git"))
 		strbuf_setlen(&rel, rel.len - 5);
+	else if (rel.len && rel.buf[rel.len - 1] == '/')
+		strbuf_setlen(&rel, rel.len - 1);
 
 	repo = cgit_add_repo(rel.buf);
 	config_fn = fn;