stagit

make diffstat files an anchor (jump to delta)

Hiltjo Posthuma contact@arjunchoudhary.com

commit: 3952b92 parent: a6be3ab
1 files changed, 4 insertions(+), 4 deletions(-)
Mstagit.c+4-4
M · stagit.c +4, -4
 1@@ -462,7 +462,7 @@ printshowfile(FILE *fp, struct commitinfo *ci)
 2 	fputs("<b>Diffstat:</b>\n<table>", fp);
 3 	for (i = 0; i < ci->ndeltas; i++) {
 4 		delta = git_patch_get_delta(ci->deltas[i]->patch);
 5-		fputs("<tr><td>", fp);
 6+		fprintf(fp, "<tr><td><a href=\"#h%zu\">", i);
 7 		xmlencode(fp, delta->old_file.path, strlen(delta->old_file.path));
 8 		if (strcmp(delta->old_file.path, delta->new_file.path)) {
 9 			fputs(" -&gt; ", fp);
10@@ -482,7 +482,7 @@ printshowfile(FILE *fp, struct commitinfo *ci)
11 		memset(&linestr, '+', add);
12 		memset(&linestr[add], '-', del);
13 
14-		fprintf(fp, "</td><td> | </td><td class=\"num\">%zu</td><td><span class=\"i\">",
15+		fprintf(fp, "</a></td><td> | </td><td class=\"num\">%zu</td><td><span class=\"i\">",
16 		        ci->deltas[i]->addcount + ci->deltas[i]->delcount);
17 		fwrite(&linestr, 1, add, fp);
18 		fputs("</span><span class=\"d\">", fp);
19@@ -499,8 +499,8 @@ printshowfile(FILE *fp, struct commitinfo *ci)
20 	for (i = 0; i < ci->ndeltas; i++) {
21 		patch = ci->deltas[i]->patch;
22 		delta = git_patch_get_delta(patch);
23-		fprintf(fp, "<b>diff --git a/<a href=\"%sfile/%s.html\">%s</a> b/<a href=\"%sfile/%s.html\">%s</a></b>\n",
24-			relpath, delta->old_file.path, delta->old_file.path,
25+		fprintf(fp, "<b>diff --git a/<a id=\"h%zu\" href=\"%sfile/%s.html\">%s</a> b/<a href=\"%sfile/%s.html\">%s</a></b>\n",
26+			i, relpath, delta->old_file.path, delta->old_file.path,
27 			relpath, delta->new_file.path, delta->new_file.path);
28 
29 		/* check binary data */