tMerge branch 'master' of git://git.codemadness.org/stagit into master - stagit - [fork] customized build of stagit, the static git page generator
 (HTM) git clone git://src.adamsgaard.dk/stagit
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 505112a41a9532631787f4493ebfe848078cf9c4
 (DIR) parent d2f515ef024456196a3777eef93867bb0de736ad
 (HTM) Author: Anders Damsgaard <anders@adamsgaard.dk>
       Date:   Mon, 16 Nov 2020 12:59:57 +0100
       
       Merge branch 'master' of git://git.codemadness.org/stagit into master
       
       Diffstat:
         M stagit.c                            |      30 ++++++++++++++++--------------
         M style.css                           |       6 +++---
       
       2 files changed, 19 insertions(+), 17 deletions(-)
       ---
 (DIR) diff --git a/stagit.c b/stagit.c
       t@@ -16,6 +16,8 @@
        
        #include "compat.h"
        
       +#define LEN(s)    (sizeof(s)/sizeof(*s))
       +
        struct deltainfo {
                git_patch *patch;
        
       t@@ -252,8 +254,7 @@ err:
        int
        refs_cmp(const void *v1, const void *v2)
        {
       -        struct referenceinfo *r1 = (struct referenceinfo *)v1;
       -        struct referenceinfo *r2 = (struct referenceinfo *)v2;
       +        const struct referenceinfo *r1 = v1, *r2 = v2;
                time_t t1, t2;
                int r;
        
       t@@ -348,12 +349,12 @@ err:
        }
        
        FILE *
       -efopen(const char *name, const char *flags)
       +efopen(const char *filename, const char *flags)
        {
                FILE *fp;
        
       -        if (!(fp = fopen(name, flags)))
       -                err(1, "fopen: '%s'", name);
       +        if (!(fp = fopen(filename, flags)))
       +                err(1, "fopen: '%s'", filename);
        
                return fp;
        }
       t@@ -449,6 +450,7 @@ writeheader(FILE *fp, const char *title)
                fputs("<!DOCTYPE html>\n"
                        "<html>\n<head>\n"
                        "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n"
       +                "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n"
                        "<title>", fp);
                xmlencode(fp, title, strlen(title));
                if (title[0] && strippedname[0])
       t@@ -502,11 +504,11 @@ writefooter(FILE *fp)
                fputs("</div>\n</body>\n</html>\n", fp);
        }
        
       -int
       +size_t
        writeblobhtml(FILE *fp, const git_blob *blob)
        {
                size_t n = 0, i, prev;
       -        const char *nfmt = "<a href=\"#l%d\" class=\"line\" id=\"l%d\">%7d</a> ";
       +        const char *nfmt = "<a href=\"#l%zu\" class=\"line\" id=\"l%zu\">%7zu</a> ";
                const char *s = git_blob_rawcontent(blob);
                git_off_t len = git_blob_rawsize(blob);
        
       t@@ -886,12 +888,12 @@ writeatom(FILE *fp, int all)
                return 0;
        }
        
       -int
       +size_t
        writeblob(git_object *obj, const char *fpath, const char *filename, git_off_t filesize)
        {
                char tmp[PATH_MAX] = "", *d;
                const char *p;
       -        int lc = 0;
       +        size_t lc = 0;
                FILE *fp;
        
                if (strlcpy(tmp, fpath, sizeof(tmp)) >= sizeof(tmp))
       t@@ -979,8 +981,8 @@ writefilestree(FILE *fp, git_tree *tree, const char *path)
                git_off_t filesize;
                const char *entryname;
                char filepath[PATH_MAX], entrypath[PATH_MAX];
       -        size_t count, i;
       -        int lc, r, ret;
       +        size_t count, i, lc;
       +        int r, ret;
        
                count = git_tree_entrycount(tree);
                for (i = 0; i < count; i++) {
       t@@ -1022,7 +1024,7 @@ writefilestree(FILE *fp, git_tree *tree, const char *path)
                                xmlencode(fp, entrypath, strlen(entrypath));
                                fputs("</a></td><td class=\"num\" align=\"right\">", fp);
                                if (lc > 0)
       -                                fprintf(fp, "%dL", lc);
       +                                fprintf(fp, "%zuL", lc);
                                else
                                        fprintf(fp, "%juB", (uintmax_t)filesize);
                                fputs("</td></tr>\n", fp);
       t@@ -1233,7 +1235,7 @@ main(int argc, char *argv[])
                }
        
                /* check LICENSE */
       -        for (i = 0; i < sizeof(licensefiles) / sizeof(*licensefiles) && !license; i++) {
       +        for (i = 0; i < LEN(licensefiles) && !license; i++) {
                        if (!git_revparse_single(&obj, repo, licensefiles[i]) &&
                            git_object_type(obj) == GIT_OBJ_BLOB)
                                license = licensefiles[i] + strlen("HEAD:");
       t@@ -1241,7 +1243,7 @@ main(int argc, char *argv[])
                }
        
                /* check README */
       -        for (i = 0; i < sizeof(readmefiles) / sizeof(*readmefiles) && !readme; i++) {
       +        for (i = 0; i < LEN(readmefiles) && !readme; i++) {
                        if (!git_revparse_single(&obj, repo, readmefiles[i]) &&
                            git_object_type(obj) == GIT_OBJ_BLOB)
                                readme = readmefiles[i] + strlen("HEAD:");
 (DIR) diff --git a/style.css b/style.css
       t@@ -29,7 +29,7 @@ a.line {
        }
        
        #blob a {
       -        color: #777;
       +        color: #555;
        }
        
        #blob a:hover {
       t@@ -70,12 +70,12 @@ td.num {
        }
        
        .desc {
       -        color: #777;
       +        color: #555;
        }
        
        hr {
                border: 0;
       -        border-top: 1px solid #777;
       +        border-top: 1px solid #555;
                height: 1px;
        }