X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/40e174d5364910750413d94b5417e57d108190ef..4a198e4b8ee62a9a8b5156a46bfce46dc7223fe9:/ui-ssdiff.c
diff --git a/ui-ssdiff.c b/ui-ssdiff.c
index 3591ab4..5673642 100644
--- a/ui-ssdiff.c
+++ b/ui-ssdiff.c
@@ -40,9 +40,9 @@ static char *replace_tabs(char *line)
{
char *prev_buf = line;
char *cur_buf;
- int linelen = strlen(line);
+ int linelen = strlen(line);
int n_tabs = 0;
- int i;
+ int i;
char *result;
char *spaces = " ";
@@ -52,10 +52,10 @@ static char *replace_tabs(char *line)
return result;
}
- for (i = 0; i < linelen; i++)
+ for (i = 0; i < linelen; i++)
if (line[i] == '\t')
n_tabs += 1;
- result = xmalloc(linelen + n_tabs * 8 + 1);
+ result = xmalloc(linelen + n_tabs * 8 + 1);
result[0] = '\0';
while (1) {
@@ -106,10 +106,12 @@ static void print_ssdiff_line(char *class, int old_line_no, char *old_line,
{
html("
");
if (old_line_no > 0)
- htmlf("| %d | ", class,
+ htmlf(" | %d | ",
old_line_no, class);
+ else if (old_line)
+ htmlf(" | | ", class);
else
- htmlf(" | | ", class, class);
+ htmlf(" | | ", class);
if (old_line) {
old_line = replace_tabs(old_line + 1);
@@ -117,13 +119,15 @@ static void print_ssdiff_line(char *class, int old_line_no, char *old_line,
free(old_line);
}
- html(" | ");
+ html("");
if (new_line_no > 0)
- htmlf(" %d | ", class,
+ htmlf(" | %d | ",
new_line_no, class);
+ else if (new_line)
+ htmlf(" | | ", class);
else
- htmlf(" | | ", class, class);
+ htmlf(" | | ", class);
if (new_line) {
new_line = replace_tabs(new_line + 1);
@@ -249,16 +253,22 @@ void cgit_ssdiff_line_cb(char *line, int len)
line[len - 1] = c;
}
-void cgit_ssdiff_header()
+void cgit_ssdiff_header_begin()
{
- current_old_line = 0;
- current_new_line = 0;
- html("");
+ current_old_line = -1;
+ current_new_line = -1;
+ html(" | ");
+ html("| ");
+}
+
+void cgit_ssdiff_header_end()
+{
+ html(" | ");
}
void cgit_ssdiff_footer()
{
if (deferred_old || deferred_new)
cgit_ssdiff_print_deferred_lines();
- html(" ");
+ html(" |