diff options
Diffstat (limited to 'scan-tree.c')
-rw-r--r-- | scan-tree.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/scan-tree.c b/scan-tree.c index 2684b44..7cd8f08 100644 --- a/scan-tree.c +++ b/scan-tree.c | |||
@@ -148,14 +148,14 @@ static void add_repo(const char *base, struct strbuf *path, repo_config_fn fn) | |||
148 | } | 148 | } |
149 | 149 | ||
150 | if (ctx.cfg.section_from_path) { | 150 | if (ctx.cfg.section_from_path) { |
151 | n = ctx.cfg.section_from_path; | 151 | n = ctx.cfg.section_from_path; |
152 | if (n > 0) { | 152 | if (n > 0) { |
153 | slash = rel.buf; | 153 | slash = rel.buf - 1; |
154 | while (slash && n && (slash = strchr(slash, '/'))) | 154 | while (slash && n && (slash = strchr(slash + 1, '/'))) |
155 | n--; | 155 | n--; |
156 | } else { | 156 | } else { |
157 | slash = rel.buf + rel.len; | 157 | slash = rel.buf + rel.len; |
158 | while (slash && n && (slash = xstrrchr(rel.buf, slash, '/'))) | 158 | while (slash && n && (slash = xstrrchr(rel.buf, slash - 1, '/'))) |
159 | n++; | 159 | n++; |
160 | } | 160 | } |
161 | if (slash && !n) { | 161 | if (slash && !n) { |