| -rw-r--r-- | ui-shared.c | 19 | ||||
| -rw-r--r-- | ui-shared.h | 2 |
2 files changed, 12 insertions, 9 deletions
diff --git a/ui-shared.c b/ui-shared.c index 315dedb..2547e43 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -347,11 +347,18 @@ void cgit_log_link(const char *name, const char *title, const char *class, html("</a>"); } -void cgit_commit_link(const char *name, const char *title, const char *class, +void cgit_commit_link(char *name, const char *title, const char *class, const char *head, const char *rev, const char *path) { char *delim; + if (strlen(name) > ctx.cfg.max_msg_len && ctx.cfg.max_msg_len >= 15) { + name[ctx.cfg.max_msg_len] = '\0'; + name[ctx.cfg.max_msg_len - 1] = '.'; + name[ctx.cfg.max_msg_len - 2] = '.'; + name[ctx.cfg.max_msg_len - 3] = '.'; + } + delim = repolink(title, class, "commit", head, path); if (rev && ctx.qry.head && strcmp(rev, ctx.qry.head)) { html(delim); @@ -380,13 +387,9 @@ void cgit_commit_link(const char *name, const char *title, const char *class, html("follow=1"); } html("'>"); - if (name[0] != '\0') { - if (strlen(name) > ctx.cfg.max_msg_len && ctx.cfg.max_msg_len >= 15) { - html_ntxt(name, ctx.cfg.max_msg_len - 3); - html("..."); - } else - html_txt(name); - } else + if (name[0] != '\0') + html_txt(name); + else html_txt("(no commit message)"); html("</a>"); } diff --git a/ui-shared.h b/ui-shared.h index 2cd7ac9..40f6207 100644 --- a/ui-shared.h +++ b/ui-shared.h @@ -30,7 +30,7 @@ extern void cgit_log_link(const char *name, const char *title, const char *class, const char *head, const char *rev, const char *path, int ofs, const char *grep, const char *pattern, int showmsg, int follow); -extern void cgit_commit_link(const char *name, const char *title, +extern void cgit_commit_link(char *name, const char *title, const char *class, const char *head, const char *rev, const char *path); extern void cgit_patch_link(const char *name, const char *title, |