diff options
| -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
| @@ -100,7 +100,7 @@ td.blob {  	background-color: white;  } -table.log td { +table.nowrap td {  	white-space: nowrap;  } @@ -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); @@ -65,6 +65,34 @@ void html_txt(char *txt)  		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(">"); +			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("..."); +}  void html_attr(char *txt)  { @@ -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>" | 
