diff options
| author | Tim Chen <timchen1@gmail.com> | 2012-01-03 16:02:14 +0000 | 
|---|---|---|
| committer | Lars Hjemli <hjemli@gmail.com> | 2012-01-03 16:02:14 +0000 | 
| commit | f2ced535e9f2c2ada7f184735a07a1190a9d810f (patch) | |
| tree | 0272646e2e0124737d637c0d5e7a858b4ba8f003 | |
| parent | ui-log.c: do not show remote heads if enable-remote-branches=0 (diff) | |
| download | cgit-f2ced535e9f2c2ada7f184735a07a1190a9d810f.tar.gz cgit-f2ced535e9f2c2ada7f184735a07a1190a9d810f.tar.bz2 cgit-f2ced535e9f2c2ada7f184735a07a1190a9d810f.zip | |
Fix diff mode switching when side-by-side-diffs=1
When side-by-side-diffs=1 was set in cgitrc, specyfing 'ss=0' in the query-
string would not switch to unified diffs. This patch fixes the issue by
introducing a separate variable to track the occurrence of "ss" in the
querystring.
Diffstat (limited to '')
| -rw-r--r-- | cgit.c | 1 | ||||
| -rw-r--r-- | cgit.h | 1 | ||||
| -rw-r--r-- | ui-diff.c | 3 | 
3 files changed, 3 insertions, 2 deletions
| @@ -281,6 +281,7 @@ static void querystring_cb(const char *name, const char *value)  		ctx.qry.period = xstrdup(value);  	} else if (!strcmp(name, "ss")) {  		ctx.qry.ssdiff = atoi(value); +		ctx.qry.has_ssdiff = 1;  	} else if (!strcmp(name, "all")) {  		ctx.qry.show_all = atoi(value);  	} else if (!strcmp(name, "context")) { @@ -133,6 +133,7 @@ struct reflist {  struct cgit_query {  	int has_symref;  	int has_sha1; +	int has_ssdiff;  	char *raw;  	char *repo;  	char *page; @@ -372,8 +372,7 @@ void cgit_print_diff(const char *new_rev, const char *old_rev, const char *prefi  		}  	} -	if ((ctx.qry.ssdiff && !ctx.cfg.ssdiff) || (!ctx.qry.ssdiff && ctx.cfg.ssdiff)) -		use_ssdiff = 1; +	use_ssdiff = ctx.qry.has_ssdiff ? ctx.qry.ssdiff : ctx.cfg.ssdiff;  	print_ssdiff_link();  	cgit_print_diffstat(old_rev_sha1, new_rev_sha1, prefix); | 
