ireplace file size with line count for text files - 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 79fab7c6faf78d7bcc0c870359138617aee24c7d /scm/stagit-gopher/commit/79fab7c6faf78d7bcc0c870359138617aee24c7d.gph bitreich.org 70 1parent 50dccf0e3ba06bcd732ac5c38c8b326cebc6c097 /scm/stagit-gopher/commit/50dccf0e3ba06bcd732ac5c38c8b326cebc6c097.gph bitreich.org 70 hAuthor: Quentin Rameau URL:mailto:quinq@fifth.space bitreich.org 70 iDate: Sun, 10 Jan 2016 00:47:22 +0100 Err bitreich.org 70 i Err bitreich.org 70 ireplace file size with line count for text files Err bitreich.org 70 i Err bitreich.org 70 iKeep the number of line when writing text blobs and print it in the Err bitreich.org 70 iindex file tree instead of the size. Still print the size otherwise. Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M config.def.h | 1 + Err bitreich.org 70 i M stagit.c | 25 ++++++++++++++++--------- Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 17 insertions(+), 9 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/config.def.h b/config.def.h /scm/stagit-gopher/file/config.def.h.gph bitreich.org 70 i@@ -1,2 +1,3 @@ Err bitreich.org 70 i /* See LICENSE file for copyright and license details. */ Err bitreich.org 70 i static const unsigned summarylen = 70; /* summary length in the log */ Err bitreich.org 70 i+static const int showlinecount = 1; /* display line count or file size in file tree index */ Err bitreich.org 70 1diff --git a/stagit.c b/stagit.c /scm/stagit-gopher/file/stagit.c.gph bitreich.org 70 i@@ -282,11 +282,11 @@ writefooter(FILE *fp) Err bitreich.org 70 i return !fputs("\n\n\n", fp); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i-void Err bitreich.org 70 i+int Err bitreich.org 70 i writeblobhtml(FILE *fp, const git_blob *blob) Err bitreich.org 70 i { Err bitreich.org 70 i off_t i; Err bitreich.org 70 i- size_t n = 1; Err bitreich.org 70 i+ size_t n = 0; Err bitreich.org 70 i char *nfmt = "%d\n"; Err bitreich.org 70 i const char *s = git_blob_rawcontent(blob); Err bitreich.org 70 i git_off_t len = git_blob_rawsize(blob); Err bitreich.org 70 i@@ -294,6 +294,7 @@ writeblobhtml(FILE *fp, const git_blob *blob) Err bitreich.org 70 i fputs("
\n", fp);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (len) {	Err	bitreich.org	70
i+                n++;	Err	bitreich.org	70
i                 fprintf(fp, nfmt, n, n, n);	Err	bitreich.org	70
i                 for (i = 0; i < len - 1; i++) {	Err	bitreich.org	70
i                         if (s[i] == '\n') {	Err	bitreich.org	70
i@@ -306,6 +307,8 @@ writeblobhtml(FILE *fp, const git_blob *blob)	Err	bitreich.org	70
i         fputs("
\n", fp);	Err	bitreich.org	70
i         xmlencode(fp, s, (size_t)len);	Err	bitreich.org	70
i         fputs("
\n", fp); Err bitreich.org 70 i+ Err bitreich.org 70 i+ return n; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i void Err bitreich.org 70 i@@ -573,12 +576,13 @@ writeblob(git_object *obj, const char *fpath, const char *filename, git_off_t fi Err bitreich.org 70 i char tmp[PATH_MAX] = ""; Err bitreich.org 70 i char *d; Err bitreich.org 70 i const char *p; Err bitreich.org 70 i+ int lc = 0; Err bitreich.org 70 i FILE *fp; Err bitreich.org 70 i Err bitreich.org 70 i d = xdirname(fpath); Err bitreich.org 70 i if (mkdirp(d)) { Err bitreich.org 70 i free(d); Err bitreich.org 70 i- return 1; Err bitreich.org 70 i+ return -1; Err bitreich.org 70 i } Err bitreich.org 70 i free(d); Err bitreich.org 70 i Err bitreich.org 70 i@@ -600,7 +604,7 @@ writeblob(git_object *obj, const char *fpath, const char *filename, git_off_t fi Err bitreich.org 70 i if (git_blob_is_binary((git_blob *)obj)) { Err bitreich.org 70 i fputs("

Binary file

\n", fp); Err bitreich.org 70 i } else { Err bitreich.org 70 i- writeblobhtml(fp, (git_blob *)obj); Err bitreich.org 70 i+ lc = writeblobhtml(fp, (git_blob *)obj); Err bitreich.org 70 i if (ferror(fp)) Err bitreich.org 70 i err(1, "fwrite"); Err bitreich.org 70 i } Err bitreich.org 70 i@@ -609,7 +613,7 @@ writeblob(git_object *obj, const char *fpath, const char *filename, git_off_t fi Err bitreich.org 70 i Err bitreich.org 70 i relpath = ""; Err bitreich.org 70 i Err bitreich.org 70 i- return 0; Err bitreich.org 70 i+ return lc; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i const char * Err bitreich.org 70 i@@ -663,7 +667,7 @@ writefilestree(FILE *fp, git_tree *tree, const char *branch, const char *path) Err bitreich.org 70 i git_object *obj = NULL; Err bitreich.org 70 i git_off_t filesize; Err bitreich.org 70 i size_t count, i; Err bitreich.org 70 i- int ret; Err bitreich.org 70 i+ int lc, ret; Err bitreich.org 70 i Err bitreich.org 70 i count = git_tree_entrycount(tree); Err bitreich.org 70 i for (i = 0; i < count; i++) { Err bitreich.org 70 i@@ -694,15 +698,18 @@ writefilestree(FILE *fp, git_tree *tree, const char *branch, const char *path) Err bitreich.org 70 i filename); Err bitreich.org 70 i filesize = git_blob_rawsize((git_blob *)obj); Err bitreich.org 70 i Err bitreich.org 70 i+ lc = writeblob(obj, filepath, filename, filesize); Err bitreich.org 70 i+ Err bitreich.org 70 i fputs("", fp); Err bitreich.org 70 i fputs(filemode(git_tree_entry_filemode(entry)), fp); Err bitreich.org 70 i fprintf(fp, "", relpath, filepath); Err bitreich.org 70 i xmlencode(fp, filename, strlen(filename)); Err bitreich.org 70 i fputs("", fp); Err bitreich.org 70 i- fprintf(fp, "%ju", (uintmax_t)filesize); Err bitreich.org 70 i+ if (showlinecount && lc > 0) Err bitreich.org 70 i+ fprintf(fp, "%dL", lc); Err bitreich.org 70 i+ else Err bitreich.org 70 i+ fprintf(fp, "%jub", (uintmax_t)filesize); Err bitreich.org 70 i fputs("\n", fp); Err bitreich.org 70 i- Err bitreich.org 70 i- writeblob(obj, filepath, filename, filesize); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i return 0; Err bitreich.org 70 .