summary refs log tree commit diff
path: root/ui-ssdiff.c
diff options
context:
space:
mode:
authorRagnar Ouchterlony <ragnar@lysator.liu.se>2009-09-16 18:56:26 +0200
committerLars Hjemli <hjemli@gmail.com>2009-09-16 20:17:56 +0200
commit4a198e4b8ee62a9a8b5156a46bfce46dc7223fe9 (patch)
treec6389de8ae75cf907ed3884e87ee554d80498145 /ui-ssdiff.c
parent207cc34711039329b41345f716bf421a88a6fd0a (diff)
Fixed side-by-side diff bugs related to binary diff and more.
The fixed bugs:

 * "Binary files differ" did not show up either in unidiff or
   side-by-side-diff.
 * Subproject diffs did not work for side-by-side diffs.
 * The ssdiff link on diff pages did not conserve the path.

Signed-off-by: Ragnar Ouchterlony <ragnar@lysator.liu.se>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'ui-ssdiff.c')
-rw-r--r--ui-ssdiff.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/ui-ssdiff.c b/ui-ssdiff.c
index 8215051..5673642 100644
--- a/ui-ssdiff.c
+++ b/ui-ssdiff.c
@@ -108,6 +108,8 @@ static void print_ssdiff_line(char *class, int old_line_no, char *old_line,
 	if (old_line_no > 0)
 		htmlf("<td class='lineno'>%d</td><td class='%s'>",
 		      old_line_no, class);
+	else if (old_line)
+		htmlf("<td class='lineno'></td><td class='%s'>", class);
 	else
 		htmlf("<td class='lineno'></td><td class='%s_dark'>", class);
 
@@ -122,6 +124,8 @@ static void print_ssdiff_line(char *class, int old_line_no, char *old_line,
 	if (new_line_no > 0)
 		htmlf("<td class='lineno'>%d</td><td class='%s'>",
 		      new_line_no, class);
+	else if (new_line)
+		htmlf("<td class='lineno'></td><td class='%s'>", class);
 	else
 		htmlf("<td class='lineno'></td><td class='%s_dark'>", class);
 
@@ -251,8 +255,8 @@ void cgit_ssdiff_line_cb(char *line, int len)
 
 void cgit_ssdiff_header_begin()
 {
-	current_old_line = 0;
-	current_new_line = 0;
+	current_old_line = -1;
+	current_new_line = -1;
 	html("<tr><td class='space' colspan='4'><div></div></td></tr>");
 	html("<tr><td class='head' colspan='4'>");
 }