diff options
Diffstat (limited to '')
| -rw-r--r-- | ui-diff.c | 27 | 
1 files changed, 16 insertions, 11 deletions
| @@ -246,8 +246,6 @@ static void header(unsigned char *sha1, char *path1, int mode1,  			html_txt(path2);  	}  	html("</div>"); -	if (use_ssdiff) -		cgit_ssdiff_header();  }  static void print_ssdiff_link() @@ -270,24 +268,26 @@ static void filepair_cb(struct diff_filepair *pair)  	int binary = 0;  	linediff_fn print_line_fn = print_line; -	header(pair->one->sha1, pair->one->path, pair->one->mode, -	       pair->two->sha1, pair->two->path, pair->two->mode);  	if (use_ssdiff) { -		cgit_ssdiff_header(); +		cgit_ssdiff_header_begin();  		print_line_fn = cgit_ssdiff_line_cb;  	} +	header(pair->one->sha1, pair->one->path, pair->one->mode, +	       pair->two->sha1, pair->two->path, pair->two->mode); +	if (use_ssdiff) +		cgit_ssdiff_header_end();  	if (S_ISGITLINK(pair->one->mode) || S_ISGITLINK(pair->two->mode)) {  		if (S_ISGITLINK(pair->one->mode)) -			print_line(fmt("-Subproject %s", sha1_to_hex(pair->one->sha1)), 52); +			print_line_fn(fmt("-Subproject %s", sha1_to_hex(pair->one->sha1)), 52);  		if (S_ISGITLINK(pair->two->mode)) -			print_line(fmt("+Subproject %s", sha1_to_hex(pair->two->sha1)), 52); +			print_line_fn(fmt("+Subproject %s", sha1_to_hex(pair->two->sha1)), 52);  		return;  	}  	if (cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size,  			    &new_size, &binary, print_line_fn))  		cgit_print_error("Error running diff");  	if (binary) -		html("Binary files differ"); +		print_line_fn(" Binary files differ", 20);  	if (use_ssdiff)  		cgit_ssdiff_footer();  } @@ -334,9 +334,14 @@ void cgit_print_diff(const char *new_rev, const char *old_rev, const char *prefi  	print_ssdiff_link();  	cgit_print_diffstat(old_rev_sha1, new_rev_sha1); -	html("<table summary='diff' class='diff'>"); -	html("<tr><td>"); +	if (use_ssdiff) { +		html("<table summary='ssdiff' class='ssdiff'>"); +	} else { +		html("<table summary='diff' class='diff'>"); +		html("<tr><td>"); +	}  	cgit_diff_tree(old_rev_sha1, new_rev_sha1, filepair_cb, prefix); -	html("</td></tr>"); +	if (!use_ssdiff) +		html("</td></tr>");  	html("</table>");  } | 
