]> granicus.if.org Git - cgit/commitdiff
scan-tree: fix regression in section-from-path=-1
authorJohn Keeping <john@keeping.me.uk>
Tue, 16 Apr 2013 17:39:58 +0000 (18:39 +0100)
committerJason A. Donenfeld <Jason@zx2c4.com>
Wed, 17 Apr 2013 11:40:16 +0000 (13:40 +0200)
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

index beb584b5952eb9407e90fc8c580ffffdb5dc5676..a1ec8fb7ac73cbc4416245087390849d199f822c 100644 (file)
@@ -113,6 +113,8 @@ static void add_repo(const char *base, struct strbuf *path, repo_config_fn fn)
 
        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;