about summary refs log tree commit
path: root/ui-shared.c
diff options
context:
space:
mode:
Diffstat (limited to 'ui-shared.c')
-rw-r--r--ui-shared.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ui-shared.c b/ui-shared.c
index d27a5fd..d2358f2 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -945,12 +945,13 @@ static void cgit_print_path_crumbs(char *path)
 {
         char *old_path = ctx.qry.path;
         char *p = path, *q, *end = path + strlen(path);
+        int levels = 0;
 
         ctx.qry.path = NULL;
         cgit_self_link("root", NULL, NULL);
         ctx.qry.path = p = path;
         while (p < end) {
-                if (!(q = strchr(p, '/')))
+                if (!(q = strchr(p, '/')) || levels > 15)
                         q = end;
                 *q = '\0';
                 html_txt("/");
@@ -958,6 +959,7 @@ static void cgit_print_path_crumbs(char *path)
                 if (q < end)
                         *q = '/';
                 p = q + 1;
+                ++levels;
         }
         ctx.qry.path = old_path;
 }