summaryrefslogtreecommitdiffabout
path: root/ui-diff.c
authorJohan Herland <johan@herland.net>2010-06-10 18:15:27 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2010-06-19 11:00:07 (UTC)
commit6180e6169d6e87a3bea7e4da835dca17f93e5cfd (patch) (unidiff)
tree7caa053b419c75081179cc4a6056ce6533d01d99 /ui-diff.c
parenta2cbd3c30b64a26b52b2003ba6569f3c083f4092 (diff)
downloadcgit-6180e6169d6e87a3bea7e4da835dca17f93e5cfd.zip
cgit-6180e6169d6e87a3bea7e4da835dca17f93e5cfd.tar.gz
cgit-6180e6169d6e87a3bea7e4da835dca17f93e5cfd.tar.bz2
Add URL parameter 'context' for changing the number of context lines in diffs
The new ctx.qry.context variable is picked up by cgit_print_diff(), and passed via cgit_diff_files() to Git's diff machinery. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'ui-diff.c') (more/less context) (ignore whitespace changes)
-rw-r--r--ui-diff.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ui-diff.c b/ui-diff.c
index fb836df..d3a3b2c 100644
--- a/ui-diff.c
+++ b/ui-diff.c
@@ -124,13 +124,13 @@ static void inspect_filepair(struct diff_filepair *pair)
124 unsigned long old_size = 0; 124 unsigned long old_size = 0;
125 unsigned long new_size = 0; 125 unsigned long new_size = 0;
126 files++; 126 files++;
127 lines_added = 0; 127 lines_added = 0;
128 lines_removed = 0; 128 lines_removed = 0;
129 cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size, &new_size, 129 cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size, &new_size,
130 &binary, count_diff_lines); 130 &binary, 0, count_diff_lines);
131 if (files >= slots) { 131 if (files >= slots) {
132 if (slots == 0) 132 if (slots == 0)
133 slots = 4; 133 slots = 4;
134 else 134 else
135 slots = slots * 2; 135 slots = slots * 2;
136 items = xrealloc(items, slots * sizeof(struct fileinfo)); 136 items = xrealloc(items, slots * sizeof(struct fileinfo));
@@ -285,13 +285,13 @@ static void filepair_cb(struct diff_filepair *pair)
285 print_line_fn(fmt("+Subproject %s", sha1_to_hex(pair->two->sha1)), 52); 285 print_line_fn(fmt("+Subproject %s", sha1_to_hex(pair->two->sha1)), 52);
286 if (use_ssdiff) 286 if (use_ssdiff)
287 cgit_ssdiff_footer(); 287 cgit_ssdiff_footer();
288 return; 288 return;
289 } 289 }
290 if (cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size, 290 if (cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size,
291 &new_size, &binary, print_line_fn)) 291 &new_size, &binary, ctx.qry.context, print_line_fn))
292 cgit_print_error("Error running diff"); 292 cgit_print_error("Error running diff");
293 if (binary) { 293 if (binary) {
294 if (use_ssdiff) 294 if (use_ssdiff)
295 html("<tr><td colspan='4'>Binary files differ</td></tr>"); 295 html("<tr><td colspan='4'>Binary files differ</td></tr>");
296 else 296 else
297 html("Binary files differ"); 297 html("Binary files differ");