iadd README and LICENSE file-detection - stagit-gopher - A git gopher frontend. (mirror) Err bitreich.org 70 hgit clone git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/ URL:git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/ bitreich.org 70 1Log /scm/stagit-gopher/log.gph bitreich.org 70 1Files /scm/stagit-gopher/files.gph bitreich.org 70 1Refs /scm/stagit-gopher/refs.gph bitreich.org 70 1Tags /scm/stagit-gopher/tag bitreich.org 70 1README /scm/stagit-gopher/file/README.gph bitreich.org 70 1LICENSE /scm/stagit-gopher/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 7294b10b65ff8a91bd330108af98441ec4a05307 /scm/stagit-gopher/commit/7294b10b65ff8a91bd330108af98441ec4a05307.gph bitreich.org 70 1parent 415e3fdd55b2ecdf2f35680694362a4b35fd1a05 /scm/stagit-gopher/commit/415e3fdd55b2ecdf2f35680694362a4b35fd1a05.gph bitreich.org 70 hAuthor: Hiltjo Posthuma URL:mailto:hiltjo@codemadness.org bitreich.org 70 iDate: Sat, 5 Dec 2015 20:43:29 +0100 Err bitreich.org 70 i Err bitreich.org 70 iadd README and LICENSE file-detection Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M TODO | 2 +- Err bitreich.org 70 i M urmoms.c | 62 ++++++++++++++++++++++++++++--- Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 58 insertions(+), 6 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/TODO b/TODO /scm/stagit-gopher/file/TODO.gph bitreich.org 70 i@@ -3,7 +3,7 @@ Err bitreich.org 70 i - add raw link to latest files: raw/file... Err bitreich.org 70 i - add summary page? Err bitreich.org 70 i - add diffstat to diff page? + and - lines summary? Err bitreich.org 70 i-- escape < > ' " etc, maybe even use CDATA ? Err bitreich.org 70 i+- escape HTML: < > ' " etc, maybe even use CDATA ? Err bitreich.org 70 i - shorter date format for logs.html page. Err bitreich.org 70 i - speed up generating files. Err bitreich.org 70 i - for files link to the commit but make the filename a link anchor. Err bitreich.org 70 1diff --git a/urmoms.c b/urmoms.c /scm/stagit-gopher/file/urmoms.c.gph bitreich.org 70 i@@ -1,16 +1,20 @@ Err bitreich.org 70 i #include Err bitreich.org 70 i+#include Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i+#include Err bitreich.org 70 i Err bitreich.org 70 i #include "git2.h" Err bitreich.org 70 i Err bitreich.org 70 i+static git_repository *repo; Err bitreich.org 70 i+ Err bitreich.org 70 i static const char *relpath = ""; Err bitreich.org 70 i static const char *name = ""; Err bitreich.org 70 i static const char *description = ""; Err bitreich.org 70 i Err bitreich.org 70 i static const char *repodir = "."; Err bitreich.org 70 i Err bitreich.org 70 i-static git_repository *repo; Err bitreich.org 70 i+static int hasreadme, haslicense; Err bitreich.org 70 i Err bitreich.org 70 i FILE * Err bitreich.org 70 i efopen(const char *name, const char *flags) Err bitreich.org 70 i@@ -102,8 +106,10 @@ writeheader(FILE *fp) Err bitreich.org 70 i fprintf(fp, "Log |", relpath); Err bitreich.org 70 i fprintf(fp, "Files| ", relpath); Err bitreich.org 70 i fprintf(fp, "Stats | ", relpath); Err bitreich.org 70 i- fprintf(fp, "README | ", relpath); Err bitreich.org 70 i- fprintf(fp, "LICENSE", relpath); Err bitreich.org 70 i+ if (hasreadme) Err bitreich.org 70 i+ fprintf(fp, "README | ", relpath); Err bitreich.org 70 i+ if (haslicense) Err bitreich.org 70 i+ fprintf(fp, "LICENSE", relpath); Err bitreich.org 70 i fprintf(fp, "
");	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         return 0;	Err	bitreich.org	70
i@@ -181,12 +187,27 @@ writebranches(FILE *fp)	Err	bitreich.org	70
i }	Err	bitreich.org	70
i #endif	Err	bitreich.org	70
i 	Err	bitreich.org	70
i+void	Err	bitreich.org	70
i+concat(FILE *fp1, FILE *fp2)	Err	bitreich.org	70
i+{	Err	bitreich.org	70
i+        char buf[BUFSIZ];	Err	bitreich.org	70
i+        size_t n;	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        while ((n = fread(buf, 1, sizeof(buf), fp1))) {	Err	bitreich.org	70
i+                fwrite(buf, 1, n, fp2);	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+                if (feof(fp1) || ferror(fp1) || ferror(fp2))	Err	bitreich.org	70
i+                        break;	Err	bitreich.org	70
i+        }	Err	bitreich.org	70
i+}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i int	Err	bitreich.org	70
i main(int argc, char *argv[])	Err	bitreich.org	70
i {	Err	bitreich.org	70
i-        int status;	Err	bitreich.org	70
i         const git_error *e = NULL;	Err	bitreich.org	70
i-        FILE *fp;	Err	bitreich.org	70
i+        FILE *fp, *fpread;	Err	bitreich.org	70
i+        char path[PATH_MAX];	Err	bitreich.org	70
i+        int status;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (argc != 2) {	Err	bitreich.org	70
i                 fprintf(stderr, "%s \n", argv[0]);	Err	bitreich.org	70
i@@ -202,6 +223,37 @@ main(int argc, char *argv[])	Err	bitreich.org	70
i                 exit(status);	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i+        snprintf(path, sizeof(path), "%s%s%s",	Err	bitreich.org	70
i+                repodir, repodir[strlen(repodir)] == '/' ? "" : "/", "LICENSE");	Err	bitreich.org	70
i+        if ((fpread = fopen(path, "r+b"))) {	Err	bitreich.org	70
i+                fp = efopen("license.html", "w+b");	Err	bitreich.org	70
i+                writeheader(fp);	Err	bitreich.org	70
i+                concat(fpread, fp);	Err	bitreich.org	70
i+                if (ferror(fpread) || ferror(fp))	Err	bitreich.org	70
i+                        err(1, "concat");	Err	bitreich.org	70
i+                writefooter(fp);	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+                fclose(fp);	Err	bitreich.org	70
i+                fclose(fpread);	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+                haslicense = 1;	Err	bitreich.org	70
i+        }	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        snprintf(path, sizeof(path), "%s%s%s",	Err	bitreich.org	70
i+                repodir, repodir[strlen(repodir)] == '/' ? "" : "/", "README");	Err	bitreich.org	70
i+        if ((fpread = fopen(path, "r+b"))) {	Err	bitreich.org	70
i+                fp = efopen("readme.html", "w+b");	Err	bitreich.org	70
i+                writeheader(fp);	Err	bitreich.org	70
i+                concat(fpread, fp);	Err	bitreich.org	70
i+                if (ferror(fpread) || ferror(fp))	Err	bitreich.org	70
i+                        err(1, "concat");	Err	bitreich.org	70
i+                writefooter(fp);	Err	bitreich.org	70
i+                fclose(fp);	Err	bitreich.org	70
i+                fclose(fpread);	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+                hasreadme = 1;	Err	bitreich.org	70
i+        }	Err	bitreich.org	70
i+	Err	bitreich.org	70
i         fp = efopen("logs.html", "w+b");	Err	bitreich.org	70
i         writeheader(fp);	Err	bitreich.org	70
i         writelog(fp);	Err	bitreich.org	70
.