stagit

static git page generator
git clone http://git.hanabi.in/repos/stagit.git
Log | 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);