summaryrefslogtreecommitdiffabout
path: root/ui-diff.c
authorLars Hjemli <hjemli@gmail.com>2009-02-01 18:29:47 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2009-02-01 18:29:47 (UTC)
commit5e447b1ed1aa751e8ec93dccf4df6fa4a7ffddb6 (patch) (unidiff)
tree823678b1c4a907cf0df50067c27fb5b752114df5 /ui-diff.c
parent0b3c746ba80738dbe0885a21406409390936537c (diff)
parent481ce5e298e2dcd7edc1d4a30e523dda2ce58b01 (diff)
downloadcgit-5e447b1ed1aa751e8ec93dccf4df6fa4a7ffddb6.zip
cgit-5e447b1ed1aa751e8ec93dccf4df6fa4a7ffddb6.tar.gz
cgit-5e447b1ed1aa751e8ec93dccf4df6fa4a7ffddb6.tar.bz2
Merge branch 'lh/binary'
Diffstat (limited to 'ui-diff.c') (more/less context) (ignore whitespace changes)
-rw-r--r--ui-diff.c26
1 files changed, 24 insertions, 2 deletions
diff --git a/ui-diff.c b/ui-diff.c
index 878496d..2196745 100644
--- a/ui-diff.c
+++ b/ui-diff.c
@@ -29,2 +29,5 @@ static struct fileinfo {
29 unsigned int removed; 29 unsigned int removed;
30 unsigned long old_size;
31 unsigned long new_size;
32 int binary:1;
30} *items; 33} *items;
@@ -88,2 +91,7 @@ static void print_fileinfo(struct fileinfo *info)
88 html("</td><td class='right'>"); 91 html("</td><td class='right'>");
92 if (info->binary) {
93 htmlf("bin</td><td class='graph'>%d -> %d bytes",
94 info->old_size, info->new_size);
95 return;
96 }
89 htmlf("%d", info->added + info->removed); 97 htmlf("%d", info->added + info->removed);
@@ -112,2 +120,5 @@ static void inspect_filepair(struct diff_filepair *pair)
112{ 120{
121 int binary = 0;
122 unsigned long old_size = 0;
123 unsigned long new_size = 0;
113 files++; 124 files++;
@@ -115,3 +126,4 @@ static void inspect_filepair(struct diff_filepair *pair)
115 lines_removed = 0; 126 lines_removed = 0;
116 cgit_diff_files(pair->one->sha1, pair->two->sha1, count_diff_lines); 127 cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size, &new_size,
128 &binary, count_diff_lines);
117 if (files >= slots) { 129 if (files >= slots) {
@@ -132,2 +144,5 @@ static void inspect_filepair(struct diff_filepair *pair)
132 items[files-1].removed = lines_removed; 144 items[files-1].removed = lines_removed;
145 items[files-1].old_size = old_size;
146 items[files-1].new_size = new_size;
147 items[files-1].binary = binary;
133 if (lines_added + lines_removed > max_changes) 148 if (lines_added + lines_removed > max_changes)
@@ -235,2 +250,6 @@ static void filepair_cb(struct diff_filepair *pair)
235{ 250{
251 unsigned long old_size = 0;
252 unsigned long new_size = 0;
253 int binary = 0;
254
236 header(pair->one->sha1, pair->one->path, pair->one->mode, 255 header(pair->one->sha1, pair->one->path, pair->one->mode,
@@ -244,4 +263,7 @@ static void filepair_cb(struct diff_filepair *pair)
244 } 263 }
245 if (cgit_diff_files(pair->one->sha1, pair->two->sha1, print_line)) 264 if (cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size,
265 &new_size, &binary, print_line))
246 cgit_print_error("Error running diff"); 266 cgit_print_error("Error running diff");
267 if (binary)
268 html("Binary files differ");
247} 269}