]> git.armaanb.net Git - stagit.git/commitdiff
fix: link to line in hunk if a patch has multiple files and hunks
authorHiltjo Posthuma <hiltjo@codemadness.org>
Wed, 27 Apr 2016 14:39:48 +0000 (16:39 +0200)
committerHiltjo Posthuma <hiltjo@codemadness.org>
Wed, 27 Apr 2016 14:39:48 +0000 (16:39 +0200)
thanks to lostd for reporting it!

stagit.c

index 638e58cd4630092416cecc5fdc66b5211382754c..e3c921d3bef5d51c164d1faaf3df3c64cf02f741 100644 (file)
--- a/stagit.c
+++ b/stagit.c
@@ -394,7 +394,7 @@ printshowfile(FILE *fp, struct commitinfo *ci)
                        if (git_patch_get_hunk(&hunk, &nhunklines, patch, j))
                                break;
 
-                       fprintf(fp, "<a href=\"#h%zu\" id=\"h%zu\" class=\"h\">", j, j);
+                       fprintf(fp, "<a href=\"#h%zu-%zu\" id=\"h%zu-%zu\" class=\"h\">", i, j, i, j);
                        xmlencode(fp, hunk->header, hunk->header_len);
                        fputs("</a>", fp);
 
@@ -402,11 +402,11 @@ printshowfile(FILE *fp, struct commitinfo *ci)
                                if (git_patch_get_line_in_hunk(&line, patch, j, k))
                                        break;
                                if (line->old_lineno == -1)
-                                       fprintf(fp, "<a href=\"#h%zu-%zu\" id=\"h%zu-%zu\" class=\"i\">+",
-                                               j, k, j, k);
+                                       fprintf(fp, "<a href=\"#h%zu-%zu-%zu\" id=\"h%zu-%zu-%zu\" class=\"i\">+",
+                                               i, j, k, i, j, k);
                                else if (line->new_lineno == -1)
-                                       fprintf(fp, "<a href=\"#h%zu-%zu\" id=\"h%zu-%zu\" class=\"d\">-",
-                                               j, k, j, k);
+                                       fprintf(fp, "<a href=\"#h%zu-%zu-%zu\" id=\"h%zu-%zu-%zu\" class=\"d\">-",
+                                               i, j, k, i, j, k);
                                else
                                        fputc(' ', fp);
                                xmlencode(fp, line->content, line->content_len);