it* gopherproxy-c customized Err codevoid.de 70 i Err codevoid.de 70 hgit clone git://git.codevoid.de/gopherproxy-c-sdk URL:git://git.codevoid.de/gopherproxy-c-sdk codevoid.de 70 1Log /git/gopherproxy-c-sdk/log.gph codevoid.de 70 1Files /git/gopherproxy-c-sdk/files.gph codevoid.de 70 1Refs /git/gopherproxy-c-sdk/refs.gph codevoid.de 70 1README /git/gopherproxy-c-sdk/file/README.gph codevoid.de 70 1LICENSE /git/gopherproxy-c-sdk/file/LICENSE.gph codevoid.de 70 i--- Err codevoid.de 70 1commit f3ee251cc87fed2ff5ef4f8b9679c03cad71a5f6 /git/gopherproxy-c-sdk/commit/f3ee251cc87fed2ff5ef4f8b9679c03cad71a5f6.gph codevoid.de 70 1parent 536c656498826de19a9aa266f59831df7ef74b5f /git/gopherproxy-c-sdk/commit/536c656498826de19a9aa266f59831df7ef74b5f.gph codevoid.de 70 hAuthor: Hiltjo Posthuma URL:mailto:hiltjo@codemadness.org codevoid.de 70 iDate: Sun, 12 Aug 2018 19:10:23 +0200 Err codevoid.de 70 i Err codevoid.de 70 isimplify item type handling, make shorter uris Err codevoid.de 70 i Err codevoid.de 70 imake shorter uri by removing gopher:// and the port if it is "70". Err codevoid.de 70 i Err codevoid.de 70 iDiffstat: Err codevoid.de 70 i M gopherproxy.c | 70 +++++++++++-------------------- Err codevoid.de 70 i Err codevoid.de 70 i1 file changed, 24 insertions(+), 46 deletions(-) Err codevoid.de 70 i--- Err codevoid.de 70 1diff --git a/gopherproxy.c b/gopherproxy.c /git/gopherproxy-c-sdk/file/gopherproxy.c.gph codevoid.de 70 it@@ -19,7 +19,6 @@ Err codevoid.de 70 i #endif Err codevoid.de 70 i Err codevoid.de 70 i struct uri { Err codevoid.de 70 i- char proto[16]; Err codevoid.de 70 i char host[256]; Err codevoid.de 70 i char port[8]; Err codevoid.de 70 i char path[1024]; Err codevoid.de 70 it@@ -294,29 +293,20 @@ servedir(const char *server, const char *port, const char *path, const char *par Err codevoid.de 70 i server, port, path, linenr); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i- uri[0] = '\0'; Err codevoid.de 70 i- switch (line[0]) { Err codevoid.de 70 i- case '7': Err codevoid.de 70 i- snprintf(uri, sizeof(uri), "gopher://%s:%s/%c%s", Err codevoid.de 70 i+ if (!strcmp(v.port, "70")) Err codevoid.de 70 i+ snprintf(uri, sizeof(uri), "%s/%c%s", Err codevoid.de 70 i+ v.server, v._type, v.path); Err codevoid.de 70 i+ else Err codevoid.de 70 i+ snprintf(uri, sizeof(uri), "%s:%s/%c%s", Err codevoid.de 70 i v.server, v.port, v._type, v.path); Err codevoid.de 70 i- break; Err codevoid.de 70 i- case 'h': Err codevoid.de 70 i- if (!strncmp(v.path, "URL:", sizeof("URL:") - 1)) Err codevoid.de 70 i- snprintf(uri, sizeof(uri), "%s", v.path + sizeof("URL:") - 1); Err codevoid.de 70 i- else Err codevoid.de 70 i- snprintf(uri, sizeof(uri), "gopher://%s:%s/%c%s", Err codevoid.de 70 i- v.server, v.port, v._type, v.path); Err codevoid.de 70 i- break; Err codevoid.de 70 i+ Err codevoid.de 70 i+ switch (v._type) { Err codevoid.de 70 i case 'i': /* info */ Err codevoid.de 70 i case '3': /* error */ Err codevoid.de 70 i+ fputs(" ", stdout); Err codevoid.de 70 i+ xmlencode(v.username); Err codevoid.de 70 i break; Err codevoid.de 70 i- default: Err codevoid.de 70 i- snprintf(uri, sizeof(uri), "?q=gopher://%s:%s/%c%s", Err codevoid.de 70 i- v.server, v.port, v._type, v.path); Err codevoid.de 70 i- } Err codevoid.de 70 i- Err codevoid.de 70 i- /* search */ Err codevoid.de 70 i- if (v._type == '7') { Err codevoid.de 70 i+ case '7': /* search */ Err codevoid.de 70 i fputs("
", stdout);	Err	codevoid.de	70
i                         fputs(typestr(v._type), stdout);	Err	codevoid.de	70
i                         fputs(" "	Err	codevoid.de	70
i                                 "
", stdout);	Err	codevoid.de	70
i-                } else {	Err	codevoid.de	70
i+                default: /* other */	Err	codevoid.de	70
i                         fputs(typestr(v._type), stdout);	Err	codevoid.de	70
i-                        if (uri[0]) {	Err	codevoid.de	70
i-                                fputs(" ", stdout);	Err	codevoid.de	70
i-                                xmlencode(v.username);	Err	codevoid.de	70
i-                                fputs("", stdout);	Err	codevoid.de	70
i+                        fputs(" ", stdout);	Err	codevoid.de	70
i+                        xmlencode(v.username);	Err	codevoid.de	70
i+                        fputs("", stdout);	Err	codevoid.de	70
i+	Err	codevoid.de	70
i                 }	Err	codevoid.de	70
i                 putchar('\n');	Err	codevoid.de	70
i         }	Err	codevoid.de	70
it@@ -422,21 +413,8 @@ parseuri(const char *str, struct uri *u)	Err	codevoid.de	70
i 	Err	codevoid.de	70
i         memset(u, 0, sizeof(struct uri));	Err	codevoid.de	70
i 	Err	codevoid.de	70
i-        /* protocol part */	Err	codevoid.de	70
i-        for (e = s = str; *e && (isalpha((int)*e) || isdigit((int)*e) ||	Err	codevoid.de	70
i-             *e == '+' || *e == '-' || *e == '.'); e++)	Err	codevoid.de	70
i-                ;	Err	codevoid.de	70
i-        if (strncmp(e, "://", sizeof("://") - 1))	Err	codevoid.de	70
i-                return 0;	Err	codevoid.de	70
i-        if (e - s + 1 >= sizeof(u->proto))	Err	codevoid.de	70
i-                return 0;	Err	codevoid.de	70
i-        memcpy(u->proto, s, e - s);	Err	codevoid.de	70
i-        u->proto[e - s] = '\0';	Err	codevoid.de	70
i-	Err	codevoid.de	70
i-        e += sizeof("://") - 1;	Err	codevoid.de	70
i-        s = e;	Err	codevoid.de	70
i-	Err	codevoid.de	70
i-        e = &e[strcspn(s, ":/")];	Err	codevoid.de	70
i+        s = str;	Err	codevoid.de	70
i+        e = &s[strcspn(s, ":/")];	Err	codevoid.de	70
i         if (e - s + 1 >= sizeof(u->host))	Err	codevoid.de	70
i                 return 0;	Err	codevoid.de	70
i         memcpy(u->host, s, e - s);	Err	codevoid.de	70
it@@ -492,8 +470,8 @@ main(void)	Err	codevoid.de	70
i 	Err	codevoid.de	70
i         path = "/";	Err	codevoid.de	70
i         if (query[0]) {	Err	codevoid.de	70
i-                if (strncmp(query, "gopher://", sizeof("gopher://") - 1))	Err	codevoid.de	70
i-                        snprintf(uri, sizeof(uri), "gopher://%s", query);	Err	codevoid.de	70
i+                if (!strncmp(query, "gopher://", sizeof("gopher://") - 1))	Err	codevoid.de	70
i+                        snprintf(uri, sizeof(uri), "%s", query + sizeof("gopher://") - 1);	Err	codevoid.de	70
i                 else	Err	codevoid.de	70
i                         snprintf(uri, sizeof(uri), "%s", query);	Err	codevoid.de	70
i 	Err	codevoid.de	70
.