iimprovements - 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 d97002d21462133dbd3b0f37732a62b2f5f4a529 /scm/stagit-gopher/commit/d97002d21462133dbd3b0f37732a62b2f5f4a529.gph bitreich.org 70 1parent 05fb5a9a9cc33ea54b3df72f0caa762519a0ccaa /scm/stagit-gopher/commit/05fb5a9a9cc33ea54b3df72f0caa762519a0ccaa.gph bitreich.org 70 hAuthor: Hiltjo Posthuma URL:mailto:hiltjo@codemadness.org bitreich.org 70 iDate: Thu, 15 Jun 2017 21:44:47 +0200 Err bitreich.org 70 i Err bitreich.org 70 iimprovements Err bitreich.org 70 i Err bitreich.org 70 i- utf-8 ellipsis to indicate truncation Err bitreich.org 70 i- minor style and documentation fixes Err bitreich.org 70 i- escape [ properly also Err bitreich.org 70 i- add atom feed link (only below log lines). Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M README | 1 + Err bitreich.org 70 i M stagit-gopher-index.c | 5 ++++- Err bitreich.org 70 i M stagit-gopher.c | 14 ++++++++++---- Err bitreich.org 70 i Err bitreich.org 70 i3 files changed, 15 insertions(+), 5 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/README b/README /scm/stagit-gopher/file/README.gph bitreich.org 70 i@@ -31,6 +31,7 @@ $ make Err bitreich.org 70 i Dependencies Err bitreich.org 70 i ------------ Err bitreich.org 70 i Err bitreich.org 70 i+- geomyidae (for .gph file serving). Err bitreich.org 70 i - libgit2 (v0.22+). Err bitreich.org 70 i - libc (tested with OpenBSD, FreeBSD, glibc and musl). Err bitreich.org 70 i - C compiler (C99). Err bitreich.org 70 1diff --git a/stagit-gopher-index.c b/stagit-gopher-index.c /scm/stagit-gopher/file/stagit-gopher-index.c.gph bitreich.org 70 i@@ -43,6 +43,10 @@ printutf8pad(FILE *fp, const char *s, size_t len, int pad) Err bitreich.org 70 i if ((r = wcwidth(w)) == -1) Err bitreich.org 70 i r = 1; Err bitreich.org 70 i n += (size_t)r; Err bitreich.org 70 i+ if (n >= len) { Err bitreich.org 70 i+ fputs("\xe2\x80\xa6", fp); Err bitreich.org 70 i+ break; Err bitreich.org 70 i+ } Err bitreich.org 70 i } Err bitreich.org 70 i putc(*s, fp); Err bitreich.org 70 i } Err bitreich.org 70 i@@ -182,7 +186,6 @@ usage(const char *argv0) Err bitreich.org 70 i exit(1); 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 1diff --git a/stagit-gopher.c b/stagit-gopher.c /scm/stagit-gopher/file/stagit-gopher.c.gph bitreich.org 70 i@@ -81,14 +81,19 @@ printutf8pad(FILE *fp, const char *s, size_t len, int pad) Err bitreich.org 70 i Err bitreich.org 70 i for (i = 0; *s && n < len; i++, s++) { Err bitreich.org 70 i if (ISUTF8(*s)) { Err bitreich.org 70 i- if ((r = mbtowc(&w, s, 4)) == -1) Err bitreich.org 70 i+ if (mbtowc(&w, s, 4) == -1) Err bitreich.org 70 i break; Err bitreich.org 70 i if ((r = wcwidth(w)) == -1) Err bitreich.org 70 i r = 1; Err bitreich.org 70 i n += (size_t)r; Err bitreich.org 70 i+ if (n >= len) { Err bitreich.org 70 i+ fputs("\xe2\x80\xa6", fp); Err bitreich.org 70 i+ break; Err bitreich.org 70 i+ } Err bitreich.org 70 i } Err bitreich.org 70 i putc(*s, fp); Err bitreich.org 70 i } Err bitreich.org 70 i+ Err bitreich.org 70 i for (; n < len; n++) Err bitreich.org 70 i putc(pad, fp); Err bitreich.org 70 i } Err bitreich.org 70 i@@ -313,7 +318,7 @@ gphtext(FILE *fp, const char *s, size_t len) Err bitreich.org 70 i n = 0; Err bitreich.org 70 i Err bitreich.org 70 i /* escape 't' at the start of a line */ Err bitreich.org 70 i- if (!n && s[i] == 't') { Err bitreich.org 70 i+ if (!n && (s[i] == 't' || s[i] == '[')) { Err bitreich.org 70 i fputc('t', fp); Err bitreich.org 70 i n = 1; Err bitreich.org 70 i } Err bitreich.org 70 i@@ -340,7 +345,7 @@ gphlink(FILE *fp, const char *s, size_t len) Err bitreich.org 70 i fputc(' ', fp); Err bitreich.org 70 i break; Err bitreich.org 70 i case '\r': /* ignore CR */ Err bitreich.org 70 i- case '|': /* ignore separators for now */ Err bitreich.org 70 i+ case '|': /* ignore separators here */ Err bitreich.org 70 i break; Err bitreich.org 70 i case '\t': Err bitreich.org 70 i fputs(" ", fp); Err bitreich.org 70 i@@ -1056,7 +1061,6 @@ usage(char *argv0) Err bitreich.org 70 i exit(1); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i-/* TODO: add base argument, gopher does not support relative urls, document it too */ 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@@ -1167,6 +1171,7 @@ main(int argc, char *argv[]) Err bitreich.org 70 i fp = efopen("log.gph", "w"); Err bitreich.org 70 i mkdir("commit", 0755); Err bitreich.org 70 i writeheader(fp, "Log"); Err bitreich.org 70 i+ Err bitreich.org 70 i fprintf(fp, "%-16.16s ", "Date"); Err bitreich.org 70 i fprintf(fp, "%-50.50s ", "Commit message"); Err bitreich.org 70 i fprintf(fp, "%-25.25s\n", "Author"); Err bitreich.org 70 i@@ -1208,6 +1213,7 @@ main(int argc, char *argv[]) Err bitreich.org 70 i if (head) Err bitreich.org 70 i writelog(fp, head); Err bitreich.org 70 i } Err bitreich.org 70 i+ fprintf(fp, "\n[1|Atom feed|%satom.xml|server|port]\n", relpath); Err bitreich.org 70 i writefooter(fp); Err bitreich.org 70 i fclose(fp); Err bitreich.org 70 i Err bitreich.org 70 .