about summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cgit.css2
-rw-r--r--cgit.h1
-rw-r--r--html.c28
-rw-r--r--ui-log.c4
-rw-r--r--ui-summary.c4
5 files changed, 34 insertions, 5 deletions
diff --git a/cgit.css b/cgit.css
index 7b8e468..85815c1 100644
--- a/cgit.css
+++ b/cgit.css
@@ -100,7 +100,7 @@ td.blob {
 	background-color: white;
 }
 
-table.log td {
+table.nowrap td {
 	white-space: nowrap;
 }
 
diff --git a/cgit.h b/cgit.h
index bba2d6c..362b435 100644
--- a/cgit.h
+++ b/cgit.h
@@ -73,6 +73,7 @@ extern char *fmt(const char *format,...);
 extern void html(const char *txt);
 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);
 extern void html_link_open(char *url, char *title, char *class);
 extern void html_link_close(void);
2019-02-22Rename global tags with angle bracketsclass='ctx'> html(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("&gt;"); + else if (c=='<') + html("&lt;"); + else if (c=='&') + html("&amp;"); + txt = t+1; + } + t++; + } + if (t!=txt) { + char c = *t; + *t = '\0'; + html(txt); + *t = c; + } + if (len<0) + html("..."); +} void html_attr(char *txt) { diff --git a/ui-log.c b/ui-log.c index def96f6..f3b16e7 100644 --- a/ui-log.c +++ b/ui-log.c @@ -23,7 +23,7 @@ void print_commit(struct commit *commit) char *qry = fmt("id=%s", sha1_to_hex(commit->object.sha1)); char *url = cgit_pageurl(cgit_query_repo, "commit", qry); html_link_open(url, NULL, NULL); - html_txt(info->subject); + html_ntxt(80, info->subject); html_link_close(); html("</td><td>"); html_txt(info->author); @@ -48,7 +48,7 @@ void cgit_print_log(const char *tip, int ofs, int cnt) prepare_revision_walk(&rev); html("<h2>Log</h2>"); - html("<table class='list log'>"); + html("<table class='list nowrap'>"); html("<tr><th class='left'>Date</th>" "<th class='left'>Message</th>" "<th class='left'>Author</th></tr>\n"); diff --git a/ui-summary.c b/ui-summary.c index 638c8f6..de95053 100644 --- a/ui-summary.c +++ b/ui-summary.c @@ -31,7 +31,7 @@ static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1, url = cgit_pageurl(cgit_query_repo, "commit", fmt("id=%s", sha1_to_hex(sha1))); html_link_open(url, NULL, NULL); - html_txt(info->subject); + html_ntxt(80, info->subject); html_link_close(); html("</td><td>"); html_txt(info->author); @@ -49,7 +49,7 @@ static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1, static void cgit_print_branches() { - html("<table class='list'>"); + html("<table class='list nowrap'>"); html("<tr><th class='left'>Branch</th>" "<th class='left'>Updated</th>" "<th class='left'>Commit subject</th>"