all repos — cgit @ 5bd7e9bc1b6749bbb5220d6c3a990469a7b839ae

a hyperfast web frontend for git written in c

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>
Chris Mayo aklhfex@gmail.com
Thu, 21 Feb 2019 19:56:05 +0000
commit

5bd7e9bc1b6749bbb5220d6c3a990469a7b839ae

parent

7d87cd3a215976a480b3c71b017a191597e5cb44

1 files changed, 6 insertions(+), 4 deletions(-)

jump to
M ui-ssdiff.cui-ssdiff.c

@@ -207,11 +207,13 @@ htmlf("<span class='%s'>", class);

} } else if (line[i] == lcs[j]) { same = 1; - htmlf("</span>"); + html("</span>"); j += 1; } html_txt(c); } + if (!same) + html("</span>"); } static void print_ssdiff_line(char *class,

@@ -236,7 +238,7 @@ char *id_str = fmt("id=%s#%s", is_null_oid(&old_file->oid)?"HEAD":oid_to_hex(old_rev_oid), lineno_str);

char *fileurl = cgit_fileurl(ctx.repo->url, "tree", old_file->path, id_str); html("<td class='lineno'><a href='"); html(fileurl); - htmlf("' id='%s'>%s</a>", lineno_str, lineno_str + 1); + htmlf("'>%s</a>", lineno_str + 1); html("</td>"); htmlf("<td class='%s'>", class); free(fileurl);

@@ -259,7 +261,7 @@ char *id_str = fmt("id=%s#%s", is_null_oid(&new_file->oid)?"HEAD":oid_to_hex(new_rev_oid), lineno_str);

char *fileurl = cgit_fileurl(ctx.repo->url, "tree", new_file->path, id_str); html("<td class='lineno'><a href='"); html(fileurl); - htmlf("' id='%s'>%s</a>", lineno_str, lineno_str + 1); + htmlf("'>%s</a>", lineno_str + 1); html("</td>"); htmlf("<td class='%s'>", class); free(fileurl);

@@ -405,7 +407,7 @@ }

void cgit_ssdiff_header_end(void) { - html("</td><tr>"); + html("</td></tr>"); } void cgit_ssdiff_footer(void)