Commit Diff


commit - 5734723f92a0fd72967e89f9460ff9552ea9aff2
commit + 543f4a66fec191b16621ae4f7783782131a3b067
blob - 0e7800c28b5c4e112a65fd326c77f88ba98f464b
blob + 2258e67a25485efa2c76dee0fd7d91da4546d78c
--- server.c
+++ server.c
@@ -1098,9 +1098,13 @@ client_write(struct bufferevent *bev, void *d)
 	case REQUEST_DIR:
 		/* TODO: handle big big directories better */
 		for (c->diroff = 0; c->diroff < c->dirlen; ++c->diroff) {
+			const char *sufx = "";
+
 			encode_path(nam, sizeof(nam),
 			    c->dir[c->diroff]->d_name);
-			evbuffer_add_printf(out, "=> ./%s\n", nam);
+			if (c->dir[c->diroff]->d_type == DT_DIR)
+				sufx = "/";
+			evbuffer_add_printf(out, "=> ./%s%s\n", nam, sufx);
 			free(c->dir[c->diroff]);
 		}
 		free(c->dir);