fix: link to line in hunk if a patch has multiple files and hunks - stagit-gopher - A git gopher frontend. (mirror) HTML git clone git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/ DIR Log DIR Files DIR Refs DIR Tags DIR README DIR LICENSE --- DIR commit 86bbe822114c01d9c1bcfe6950463ee1c73e39a5 DIR parent 09a49b3dce9d05d8729fd7bb97efadba69951391 HTML 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: M stagit.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) --- DIR 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);