tStripping down the solution to be even more simpler. - geomyidae - A small C-based gopherd. (gopher://bitreich.org/1/scm/geomyidae)
git clone git://r-36.net/geomyidae
Log
Files
Refs
README
LICENSE
---
commit bced8f652806e43a593b632643b38cf7e36d4a81
parent b89d42032c1f80875756de5f7c11eee5679951ba
Author: Christoph Lohmann <20h@r-36.net>
Date:   Sun, 26 Apr 2020 13:12:33 +0200

Stripping down the solution to be even more simpler.

Thanks Evil_Bob, for your work!

Diffstat:
  handlr.c                            |      10 ++++------

1 file changed, 4 insertions(+), 6 deletions(-)
---
diff --git a/handlr.c b/handlr.c
t@@ -40,15 +40,13 @@ handledir(int sock, char *path, char *port, char *base, char *args,
         par = xstrdup(pa);
         b = strrchr(par + strlen(base), '/');
         if (b != NULL) {
-                if (b != par) {
-                        *b = '\0';
-                        dprintf(sock, "1..\t%s\t%s\t%s\r\n",
-                                par + strlen(base), ohost, port);
-                }
+                *b = '\0';
+                dprintf(sock, "1..\t%s\t%s\t%s\r\n",
+                        par + strlen(base), ohost, port);
         }
         free(par);
 
-        ndir = scandir(pa, &dirent, 0, alphasort);
+        ndir = scandir(pa[0] ? pa : ".", &dirent, 0, alphasort);
         if (ndir < 0) {
                 perror("scandir");
                 free(pa);