make file in diff a link, make hunk and link anchor - stagit-gopher - A git gopher frontend. (mirror)
 (HTM) 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 53d6b47cc28903f9344245a36d33be6d0a6eee45
 (DIR) parent ded9719afd1c9108dc6bbebb8205086a740add3b
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Mon,  7 Dec 2015 19:00:16 +0100
       
       make file in diff a link, make hunk and link anchor
       
       Diffstat:
         M urmoms.c                            |      10 +++++++---
       
       1 file changed, 7 insertions(+), 3 deletions(-)
       ---
 (DIR) diff --git a/urmoms.c b/urmoms.c
       @@ -259,7 +259,7 @@ printshowfile(git_commit *commit)
                        }
        
                        delta = git_patch_get_delta(patch);
       -                fprintf(fp, "diff --git a/<a href=\"%s%s\">%s</a> b/<a href=\"%s%s\">%s</a>\n",
       +                fprintf(fp, "diff --git a/<a href=\"%sfile/%s\">%s</a> b/<a href=\"%sfile/%s\">%s</a>\n",
                                relpath, delta->old_file.path, delta->old_file.path,
                                relpath, delta->new_file.path, delta->new_file.path);
        
       @@ -285,12 +285,16 @@ printshowfile(git_commit *commit)
                                        if (git_patch_get_line_in_hunk(&line, patch, j, k))
                                                break;
                                        if (line->old_lineno == -1)
       -                                        fputc('+', fp);
       +                                        fprintf(fp, "<span class=\"i\"><a href=\"#h%zu-%zu\" id=\"h%zu-%zu\">+",
       +                                                j, k, j, k);
                                        else if (line->new_lineno == -1)
       -                                        fputc('-', fp);
       +                                        fprintf(fp, "<span class=\"d\"><a href=\"#h%zu-%zu\" id=\"h%zu-%zu\">-",
       +                                                j, k, j, k);
                                        else
                                                fputc(' ', fp);
                                        xmlencode(fp, line->content, line->content_len);
       +                                if (line->old_lineno == -1 || line->new_lineno == -1)
       +                                        fputs("</a></span>", fp);
                                }
                        }
                        git_patch_free(patch);