| 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(-)
--- |
| 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); |