about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChris Mayo <aklhfex@gmail.com>2019-02-21 19:56:05 +0000
committerJason A. Donenfeld <Jason@zx2c4.com>2019-02-23 00:08:50 +0100
commit5bd7e9bc1b6749bbb5220d6c3a990469a7b839ae (patch)
tree9c06149f4d462af1bdc2cce63c64eec9a3518726
parentfilters: migrate from luacrypto to luaossl (diff)
downloadcgit-pink-5bd7e9bc1b6749bbb5220d6c3a990469a7b839ae.tar.gz
cgit-pink-5bd7e9bc1b6749bbb5220d6c3a990469a7b839ae.zip
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>
-rw-r--r--ui-ssdiff.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/ui-ssdiff.c b/ui-ssdiff.c
index c456033..b6dc5b0 100644
--- a/ui-ssdiff.c
+++ b/ui-ssdiff.c
@@ -207,11 +207,13 @@ static void print_part_with_lcs(char *class, char *line, char *lcs)
 			}
 		} 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 @@ static void print_ssdiff_line(char *class,
 		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 @@ static void print_ssdiff_line(char *class,
 		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_begin(void)
 
 void cgit_ssdiff_header_end(void)
 {
-	html("</td><tr>");
+	html("</td></tr>");
 }
 
 void cgit_ssdiff_footer(void)