ui-ssdiff: resolve HTML5 validation errors

- Remove ids from anchor elements. They were unusable because they were
  duplicated between files and versions of files.
- Always close span, with html().
- Fix missing / on closing tr element in cgit_ssdiff_header_end().

Signed-off-by: Chris Mayo <aklhfex@gmail.com>
This commit is contained in:
Chris Mayo 2019-02-21 19:56:05 +00:00 committed by Jason A. Donenfeld
parent 7d87cd3a21
commit 5bd7e9bc1b

View File

@ -207,11 +207,13 @@ static void print_part_with_lcs(char *class, char *line, char *lcs)
} }
} else if (line[i] == lcs[j]) { } else if (line[i] == lcs[j]) {
same = 1; same = 1;
htmlf("</span>"); html("</span>");
j += 1; j += 1;
} }
html_txt(c); html_txt(c);
} }
if (!same)
html("</span>");
} }
static void print_ssdiff_line(char *class, static void print_ssdiff_line(char *class,
@ -236,7 +238,7 @@ static void print_ssdiff_line(char *class,
char *fileurl = cgit_fileurl(ctx.repo->url, "tree", old_file->path, id_str); char *fileurl = cgit_fileurl(ctx.repo->url, "tree", old_file->path, id_str);
html("<td class='lineno'><a href='"); html("<td class='lineno'><a href='");
html(fileurl); html(fileurl);
htmlf("' id='%s'>%s</a>", lineno_str, lineno_str + 1); htmlf("'>%s</a>", lineno_str + 1);
html("</td>"); html("</td>");
htmlf("<td class='%s'>", class); htmlf("<td class='%s'>", class);
free(fileurl); free(fileurl);
@ -259,7 +261,7 @@ static void print_ssdiff_line(char *class,
char *fileurl = cgit_fileurl(ctx.repo->url, "tree", new_file->path, id_str); char *fileurl = cgit_fileurl(ctx.repo->url, "tree", new_file->path, id_str);
html("<td class='lineno'><a href='"); html("<td class='lineno'><a href='");
html(fileurl); html(fileurl);
htmlf("' id='%s'>%s</a>", lineno_str, lineno_str + 1); htmlf("'>%s</a>", lineno_str + 1);
html("</td>"); html("</td>");
htmlf("<td class='%s'>", class); htmlf("<td class='%s'>", class);
free(fileurl); free(fileurl);
@ -405,7 +407,7 @@ void cgit_ssdiff_header_begin(void)
void cgit_ssdiff_header_end(void) void cgit_ssdiff_header_end(void)
{ {
html("</td><tr>"); html("</td></tr>");
} }
void cgit_ssdiff_footer(void) void cgit_ssdiff_footer(void)