SMOLNET PORTAL home about changes
iImplement new escaping in geomyidae. - geomyidae - A small C-based gopherd.	Err	bitreich.org	70
hgit clone git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/	URL:git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/	bitreich.org	70
1Log	/scm/geomyidae/log.gph	bitreich.org	70
1Files	/scm/geomyidae/files.gph	bitreich.org	70
1Refs	/scm/geomyidae/refs.gph	bitreich.org	70
1Tags	/scm/geomyidae/tag	bitreich.org	70
1README	/scm/geomyidae/file/README.gph	bitreich.org	70
1LICENSE	/scm/geomyidae/file/LICENSE.gph	bitreich.org	70
i---	Err	bitreich.org	70
1commit 204c8cedb99683d264e2612a4e126142a20e3042	/scm/geomyidae/commit/204c8cedb99683d264e2612a4e126142a20e3042.gph	bitreich.org	70
1parent 25d46ce743e68c9d920190bfe29262f16214b194	/scm/geomyidae/commit/25d46ce743e68c9d920190bfe29262f16214b194.gph	bitreich.org	70
hAuthor: Christoph Lohmann <20h@r-36.net>	URL:mailto:20h@r-36.net	bitreich.org	70
iDate:   Tue, 26 Jul 2022 23:39:22 +0200	Err	bitreich.org	70
i	Err	bitreich.org	70
iImplement new escaping in geomyidae.	Err	bitreich.org	70
i	Err	bitreich.org	70
iThanks Bob for all of your help and hints!	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M geomyidae.8                         |      10 +++++-----	Err	bitreich.org	70
i  M ind.c                               |      37 ++++++++++---------------------	Err	bitreich.org	70
i  M index.gph                           |       6 ++++--	Err	bitreich.org	70
i	Err	bitreich.org	70
i3 files changed, 21 insertions(+), 32 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/geomyidae.8 b/geomyidae.8	/scm/geomyidae/file/geomyidae.8.gph	bitreich.org	70
i@@ -257,11 +257,11 @@ Note: geomyidae doesn't require "informational" text to be formally	Err	bitreich.org	70
i Typed as "[i|...]"; any line	Err	bitreich.org	70
i .Em not	Err	bitreich.org	70
i beginning with "[" is treated as informational, greatly simplifying the	Err	bitreich.org	70
i-formatting of index.gph files.  However, if a line begins with a "t", this	Err	bitreich.org	70
i-"t" is left out.  This quirk is there to allow "informational" text lines	Err	bitreich.org	70
i-beginning with a "[" to display.  For dynamically generated index files	Err	bitreich.org	70
i-it may be desirable to either formally Type informational text or run	Err	bitreich.org	70
i-it through a filter to add a second "t" - .ie sed 's/^t/&&/' .	Err	bitreich.org	70
i+formatting of index.gph files. If you want to display some informational	Err	bitreich.org	70
i+text beginning with "[" you can use the special case of an empty item	Err	bitreich.org	70
i+type. "[|[some link" will be shortened to "[some link". For dynamically	Err	bitreich.org	70
i+generated content it may be desirable to either formally type	Err	bitreich.org	70
i+informational text or run it through a filter to prepend "[|" - .ie sed 's,^[,[|&,' .	Err	bitreich.org	70
i .Ed	Err	bitreich.org	70
i .Bd -filled	Err	bitreich.org	70
i Note 2: You can escape a pipe ("|") character in for example a	Err	bitreich.org	70
1diff --git a/ind.c b/ind.c	/scm/geomyidae/file/ind.c.gph	bitreich.org	70
i@@ -255,12 +255,15 @@ getadv(char *str)	Err	bitreich.org	70
i         char *b, *e, *o, *bo;	Err	bitreich.org	70
i         Elems *ret;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i+        if (strlen(str) == 0)	Err	bitreich.org	70
i+                return NULL;	Err	bitreich.org	70
i+	Err	bitreich.org	70
i         ret = xcalloc(1, sizeof(Elems));	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (strchr(str, '\t')) {	Err	bitreich.org	70
i                 addelem(ret, "i");	Err	bitreich.org	70
i                 addelem(ret, "Happy helping ☃ here: You tried to "	Err	bitreich.org	70
i-                        "output a spurious tab character. This will "	Err	bitreich.org	70
i+                        "output a spurious TAB character. This will "	Err	bitreich.org	70
i                         "break gopher. Please review your scripts. "	Err	bitreich.org	70
i                         "Have a nice day!");	Err	bitreich.org	70
i                 addelem(ret, "Err");	Err	bitreich.org	70
i@@ -270,7 +273,8 @@ getadv(char *str)	Err	bitreich.org	70
i                 return ret;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-        if (str[0] == '[') {	Err	bitreich.org	70
i+        /* Check for escape sequence. */	Err	bitreich.org	70
i+        if (str[0] == '[' && str[1] != '|') {	Err	bitreich.org	70
i                 o = xstrdup(str);	Err	bitreich.org	70
i                 b = o + 1;	Err	bitreich.org	70
i                 bo = b;	Err	bitreich.org	70
i@@ -294,38 +298,21 @@ getadv(char *str)	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i                 free(o);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-                /*	Err	bitreich.org	70
i-                 * TODO: Add new [| escape handling after brcon2022 discussion.	Err	bitreich.org	70
i-                 */	Err	bitreich.org	70
i-                if (ret->e != NULL && ret->e[0] != NULL && ret->e[0][0] == '\0') {	Err	bitreich.org	70
i-                        freeelem(ret);	Err	bitreich.org	70
i-                        ret = xcalloc(1, sizeof(Elems));	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-                        addelem(ret, "i");	Err	bitreich.org	70
i-                        addelem(ret, "Happy helping ☃ here: You did not "	Err	bitreich.org	70
i-                                "specify an item type on this line. Please "	Err	bitreich.org	70
i-                                "review your scripts. "	Err	bitreich.org	70
i-                                "Have a nice day!");	Err	bitreich.org	70
i-                        addelem(ret, "Err");	Err	bitreich.org	70
i-                        addelem(ret, "server");	Err	bitreich.org	70
i-                        addelem(ret, "port");	Err	bitreich.org	70
i-	Err	bitreich.org	70
i+                if (ret->e != NULL && ret->e[0] != NULL &&	Err	bitreich.org	70
i+                                ret->e[0][0] != '\0' && ret->num == 5) {	Err	bitreich.org	70
i                         return ret;	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-                if (ret->e != NULL && ret->num == 5)	Err	bitreich.org	70
i-                        return ret;	Err	bitreich.org	70
i-	Err	bitreich.org	70
i                 /* Invalid entry: Give back the whole line. */	Err	bitreich.org	70
i                 freeelem(ret);	Err	bitreich.org	70
i                 ret = xcalloc(1, sizeof(Elems));	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-        b = str;	Err	bitreich.org	70
i-        if (*str == 't')	Err	bitreich.org	70
i-                b++;	Err	bitreich.org	70
i         addelem(ret, "i");	Err	bitreich.org	70
i-        addelem(ret, b);	Err	bitreich.org	70
i+        /* Jump over escape sequence. */	Err	bitreich.org	70
i+        if (str[0] == '[' && str[1] == '|')	Err	bitreich.org	70
i+                str += 2;	Err	bitreich.org	70
i+        addelem(ret, str);	Err	bitreich.org	70
i         addelem(ret, "Err");	Err	bitreich.org	70
i         addelem(ret, "server");	Err	bitreich.org	70
i         addelem(ret, "port");	Err	bitreich.org	70
1diff --git a/index.gph b/index.gph	/scm/geomyidae/file/index.gph.gph	bitreich.org	70
i@@ -1,12 +1,14 @@	Err	bitreich.org	70
i comment	Err	bitreich.org	70
i-tcomment	Err	bitreich.org	70
i+tcomment (old style comment)	Err	bitreich.org	70
i [1|R-36|/|server|port]	Err	bitreich.org	70
i [0|file - comment|/file.txt|server|port]	Err	bitreich.org	70
i [h|http://www.heise.de|URL:http://www.heise.de|server|port]	Err	bitreich.org	70
i [0|some \| escape and [ special characters ] test|error|server|port]	Err	bitreich.org	70
i [9|binary data file|/file.dat|server|port]	Err	bitreich.org	70
i+[9|unclosed entry|/file.dat|server|port	Err	bitreich.org	70
i [|empty type||server|port]	Err	bitreich.org	70
i-[|Escape something	Err	bitreich.org	70
i+[|Escape something, [| is skipped.	Err	bitreich.org	70
i some        invalid line	Err	bitreich.org	70
i 	Err	bitreich.org	70
i+[|[9|binary data file (escaped entry, shown as 'i')|/file.dat|server|port]	Err	bitreich.org	70
i 	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/geomyidae/commit/204c8cedb996...
Content-Typetext/plain; charset=utf-8