diff options
Diffstat (limited to '')
| -rw-r--r-- | cgit.c | 12 | ||||
| -rw-r--r-- | cgit.h | 10 | ||||
| -rw-r--r-- | ui-diff.c | 8 | ||||
| -rw-r--r-- | ui-shared.c | 8 | 
4 files changed, 24 insertions, 14 deletions
| @@ -237,7 +237,7 @@ static void config_cb(const char *name, const char *value)  	else if (!strcmp(name, "summary-tags"))  		ctx.cfg.summary_tags = atoi(value);  	else if (!strcmp(name, "side-by-side-diffs")) -		ctx.cfg.ssdiff = atoi(value); +		ctx.cfg.difftype = atoi(value) ? DIFF_SSDIFF : DIFF_UNIFIED;  	else if (!strcmp(name, "agefile"))  		ctx.cfg.agefile = xstrdup(value);  	else if (!strcmp(name, "mimetype-file")) @@ -312,9 +312,13 @@ static void querystring_cb(const char *name, const char *value)  		ctx.qry.showmsg = atoi(value);  	} else if (!strcmp(name, "period")) {  		ctx.qry.period = xstrdup(value); +	} else if (!strcmp(name, "dt")) { +		ctx.qry.difftype = atoi(value); +		ctx.qry.has_difftype = 1;  	} else if (!strcmp(name, "ss")) { -		ctx.qry.ssdiff = atoi(value); -		ctx.qry.has_ssdiff = 1; +		/* No longer generated, but there may be links out there. */ +		ctx.qry.difftype = atoi(value) ? DIFF_SSDIFF : DIFF_UNIFIED; +		ctx.qry.has_difftype = 1;  	} else if (!strcmp(name, "all")) {  		ctx.qry.show_all = atoi(value);  	} else if (!strcmp(name, "context")) { @@ -372,7 +376,7 @@ static void prepare_context(void)  	ctx.cfg.summary_log = 10;  	ctx.cfg.summary_tags = 10;  	ctx.cfg.max_atom_items = 10; -	ctx.cfg.ssdiff = 0; +	ctx.cfg.difftype = DIFF_UNIFIED;  	ctx.env.cgit_config = getenv("CGIT_CONFIG");  	ctx.env.http_host = getenv("HTTP_HOST");  	ctx.env.https = getenv("HTTPS"); @@ -53,6 +53,10 @@ typedef void (*filepair_fn)(struct diff_filepair *pair);  typedef void (*linediff_fn)(char *line, int len);  typedef enum { +	DIFF_UNIFIED, DIFF_SSDIFF +} diff_type; + +typedef enum {  	ABOUT, COMMIT, SOURCE, EMAIL, AUTH  } filter_type; @@ -150,7 +154,7 @@ struct reflist {  struct cgit_query {  	int has_symref;  	int has_sha1; -	int has_ssdiff; +	int has_difftype;  	char *raw;  	char *repo;  	char *page; @@ -168,7 +172,7 @@ struct cgit_query {  	int nohead;  	char *sort;  	int showmsg; -	int ssdiff; +	diff_type difftype;  	int show_all;  	int context;  	int ignorews; @@ -245,7 +249,7 @@ struct cgit_config {  	int summary_branches;  	int summary_log;  	int summary_tags; -	int ssdiff; +	diff_type difftype;  	int branch_sort;  	int commit_sort;  	struct string_list mimetypes; @@ -345,8 +345,8 @@ void cgit_print_diff_ctrls()  	html("</tr><tr>");  	html("<td class='label'>mode:</td>");  	html("<td class='ctrl'>"); -	html("<select name='ss' onchange='this.form.submit();'>"); -	curr = ctx.qry.has_ssdiff ? ctx.qry.ssdiff : ctx.cfg.ssdiff; +	html("<select name='dt' onchange='this.form.submit();'>"); +	curr = ctx.qry.has_difftype ? ctx.qry.difftype : ctx.cfg.difftype;  	html_intoption(0, "unified", curr);  	html_intoption(1, "ssdiff", curr);  	html("</select></td></tr>"); @@ -362,6 +362,7 @@ void cgit_print_diff(const char *new_rev, const char *old_rev,  {  	struct commit *commit, *commit2;  	const unsigned char *old_tree_sha1, *new_tree_sha1; +	diff_type difftype;  	if (!new_rev)  		new_rev = ctx.qry.head; @@ -420,7 +421,8 @@ void cgit_print_diff(const char *new_rev, const char *old_rev,  		return;  	} -	use_ssdiff = ctx.qry.has_ssdiff ? ctx.qry.ssdiff : ctx.cfg.ssdiff; +	difftype = ctx.qry.has_difftype ? ctx.qry.difftype : ctx.cfg.difftype; +	use_ssdiff = difftype == DIFF_SSDIFF;  	if (show_ctrls)  		cgit_print_diff_ctrls(); diff --git a/ui-shared.c b/ui-shared.c index 68e0d7c..6243d1b 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -346,9 +346,9 @@ void cgit_commit_link(char *name, const char *title, const char *class,  		html_url_arg(rev);  		delim = "&";  	} -	if (ctx.qry.ssdiff) { +	if (ctx.qry.difftype) {  		html(delim); -		html("ss=1"); +		htmlf("dt=%d", ctx.qry.difftype);  		delim = "&";  	}  	if (ctx.qry.context > 0 && ctx.qry.context != 3) { @@ -402,9 +402,9 @@ void cgit_diff_link(const char *name, const char *title, const char *class,  		html_url_arg(old_rev);  		delim = "&";  	} -	if (ctx.qry.ssdiff) { +	if (ctx.qry.difftype) {  		html(delim); -		html("ss=1"); +		htmlf("dt=%d", ctx.qry.difftype);  		delim = "&";  	}  	if (ctx.qry.context > 0 && ctx.qry.context != 3) { | 
