URI: 
       allow to specify clone url, displayed in header - 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 1778cba9794bbe5624db907bda2d065c971405b7
   DIR parent 955c3779ef1ad080b1b8a2f9746d766fdc74cb7e
  HTML Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Sat, 26 Dec 2015 12:55:59 +0100
       
       allow to specify clone url, displayed in header
       
       Diffstat:
         M urmoms.c                            |      25 ++++++++++++++++++++++++-
       
       1 file changed, 24 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/urmoms.c b/urmoms.c
       @@ -44,6 +44,7 @@ static const char *repodir;
        
        static char name[255];
        static char description[255];
       +static char cloneurl[1024];
        static int hasreadme, haslicense;
        
        void
       @@ -232,7 +233,15 @@ writeheader(FILE *fp)
                xmlencode(fp, name, strlen(name));
                fputs("</h1><span class=\"desc\">", fp);
                xmlencode(fp, description, strlen(description));
       -        fputs("</span></td></tr><tr><td></td><td>\n", fp);
       +        fputs("</span></td></tr>", fp);
       +        if (cloneurl[0]) {
       +                fputs("<tr class=\"url\"><td></td><td>git clone <a href=\"", fp);
       +                xmlencode(fp, cloneurl, strlen(cloneurl));
       +                fputs("\">", fp);
       +                xmlencode(fp, cloneurl, strlen(cloneurl));
       +                fputs("</a></td></tr>", fp);
       +        }
       +        fputs("<tr><td></td><td>\n", fp);
                fprintf(fp, "<a href=\"%slog.html\">Log</a> | ", relpath);
                fprintf(fp, "<a href=\"%sfiles.html\">Files</a>", relpath);
                if (hasreadme)
       @@ -730,6 +739,20 @@ main(int argc, char *argv[])
                        fclose(fpread);
                }
        
       +        /* read url or .git/url */
       +        snprintf(path, sizeof(path), "%s%s%s",
       +                repodir, repodir[strlen(repodir)] == '/' ? "" : "/", "url");
       +        if (!(fpread = fopen(path, "r"))) {
       +                snprintf(path, sizeof(path), "%s%s%s",
       +                        repodir, repodir[strlen(repodir)] == '/' ? "" : "/", ".git/url");
       +                fpread = fopen(path, "r");
       +        }
       +        if (fpread) {
       +                if (!fgets(cloneurl, sizeof(cloneurl), fpread))
       +                        cloneurl[0] = '\0';
       +                fclose(fpread);
       +        }
       +
                /* check LICENSE */
                haslicense = !git_revparse_single(&obj, repo, "HEAD:LICENSE");
                git_object_free(obj);