stagit

custom fork of stagit
Index Commits Files Refs README LICENSE
commit 86bbe822114c01d9c1bcfe6950463ee1c73e39a5
parent 09a49b3dce9d05d8729fd7bb97efadba69951391
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date:   Wed, 27 Apr 2016 16:39:48 +0200

fix: link to line in hunk if a patch has multiple files and hunks

thanks to lostd for reporting it!

Diffstat:
Mstagit.c | 10+++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git 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);