-rw-r--r-- | cgit.css | 2 | ||||
-rw-r--r-- | cgit.h | 1 | ||||
-rw-r--r-- | html.c | 28 | ||||
-rw-r--r-- | ui-log.c | 4 | ||||
-rw-r--r-- | ui-summary.c | 4 |
5 files changed, 34 insertions, 5 deletions
@@ -102,3 +102,3 @@ td.blob { -table.log td { +table.nowrap td { white-space: nowrap; @@ -75,2 +75,3 @@ extern void htmlf(const char *format,...); extern void html_txt(char *txt); +extern void html_ntxt(int len, char *txt); extern void html_attr(char *txt); @@ -67,2 +67,30 @@ void html_txt(char *txt) +void html_ntxt(int len, char *txt) +{ + char *t = txt; + while(*t && len--){ + int c = *t; + if (c=='<' || c=='>' || c=='&') { + *t = '\0'; + html(txt); + *t = c; + if (c=='>') + html(">"); + else if (c=='<') + html("<"); + else if (c=='&') + html("&"); + txt = t+1; + } + t++; + } + if (t!=txt) { + char c = *t; + *t = '\0'; + html(txt); + *t = c; + } + if (len<0) + html("..."); +} @@ -25,3 +25,3 @@ void print_commit(struct commit *commit) html_link_open(url, NULL, NULL); - html_txt(info->subject); + html_ntxt(80, info->subject); html_link_close(); @@ -50,3 +50,3 @@ void cgit_print_log(const char *tip, int ofs, int cnt) html("<h2>Log</h2>"); - html("<table class='list log'>"); + html("<table class='list nowrap'>"); html("<tr><th class='left'>Date</th>" diff --git a/ui-summary.c b/ui-summary.c index 638c8f6..de95053 100644 --- a/ui-summary.c +++ b/ui-summary.c @@ -33,3 +33,3 @@ static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1, html_link_open(url, NULL, NULL); - html_txt(info->subject); + html_ntxt(80, info->subject); html_link_close(); @@ -51,3 +51,3 @@ static void cgit_print_branches() { - html("<table class='list'>"); + html("<table class='list nowrap'>"); html("<tr><th class='left'>Branch</th>" |