iStripping down the solution to be even more simpler. - 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 bced8f652806e43a593b632643b38cf7e36d4a81 /scm/geomyidae/commit/bced8f652806e43a593b632643b38cf7e36d4a81.gph bitreich.org 70 1parent b89d42032c1f80875756de5f7c11eee5679951ba /scm/geomyidae/commit/b89d42032c1f80875756de5f7c11eee5679951ba.gph bitreich.org 70 hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70 iDate: Sun, 26 Apr 2020 13:12:33 +0200 Err bitreich.org 70 i Err bitreich.org 70 iStripping down the solution to be even more simpler. Err bitreich.org 70 i Err bitreich.org 70 iThanks Evil_Bob, for your work! Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M handlr.c | 10 ++++------ Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 4 insertions(+), 6 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/handlr.c b/handlr.c /scm/geomyidae/file/handlr.c.gph bitreich.org 70 i@@ -40,15 +40,13 @@ handledir(int sock, char *path, char *port, char *base, char *args, Err bitreich.org 70 i par = xstrdup(pa); Err bitreich.org 70 i b = strrchr(par + strlen(base), '/'); Err bitreich.org 70 i if (b != NULL) { Err bitreich.org 70 i- if (b != par) { Err bitreich.org 70 i- *b = '\0'; Err bitreich.org 70 i- dprintf(sock, "1..\t%s\t%s\t%s\r\n", Err bitreich.org 70 i- par + strlen(base), ohost, port); Err bitreich.org 70 i- } Err bitreich.org 70 i+ *b = '\0'; Err bitreich.org 70 i+ dprintf(sock, "1..\t%s\t%s\t%s\r\n", Err bitreich.org 70 i+ par + strlen(base), ohost, port); Err bitreich.org 70 i } Err bitreich.org 70 i free(par); Err bitreich.org 70 i Err bitreich.org 70 i- ndir = scandir(pa, &dirent, 0, alphasort); Err bitreich.org 70 i+ ndir = scandir(pa[0] ? pa : ".", &dirent, 0, alphasort); Err bitreich.org 70 i if (ndir < 0) { Err bitreich.org 70 i perror("scandir"); Err bitreich.org 70 i free(pa); Err bitreich.org 70 .