diff options
Diffstat (limited to 'ui-shared.c')
-rw-r--r-- | ui-shared.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/ui-shared.c b/ui-shared.c index 23a893b..1dd8722 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -559,25 +559,32 @@ void cgit_submodule_link(const char *class, char *path, const char *rev) item = lookup_path(list, path); } } + if (item || ctx.repo->module_link) { html("<a "); if (class) htmlf("class='%s' ", class); html("href='"); if (item) { html_attrf(item->util, rev); - } else if (ctx.repo->module_link) { + } else { dir = strrchr(path, '/'); if (dir) dir++; else dir = path; html_attrf(ctx.repo->module_link, dir, rev); - } else { - html("#"); } html("'>"); html_txt(path); html("</a>"); + } else { + html("<span"); + if (class) + htmlf(" class='%s'", class); + html(">"); + html_txt(path); + html("</span>"); + } html_txtf(" @ %.7s", rev); if (item && tail) path[len - 1] = tail; |