shithub: fsgen

Download patch

ref: b5c57deec691894da951625505e592723b14a3e0
parent: 20a4badcd376df714d1e16f7590eb550d4d6a332
author: sirjofri <sirjofri@sirjofri.de>
date: Tue Mar 24 09:15:46 EDT 2026

fixes dir mode for ls functions

--- a/fshandler.inc
+++ b/fshandler.inc
@@ -27,8 +27,12 @@
 	if (args->func) {
 		if (args->num < 0) {
 			ret = args->func(i, d, args->aux);
-			if (ret == 0)
+			if (ret == 0) {
+				fakefid.aux = args->aux;
+				d->qid.path = makeqid(getqidhash(&fakefid));
+				d->qid.type = d->mode&DMDIR ? QTDIR : QTFILE;
 				return ret;
+			}
 			/* set numbers and skip future loops */
 			args->num = i;
 		}
--- a/test/test.fs
+++ b/test/test.fs
@@ -85,6 +85,7 @@
 ls{
 	// fprint(2, "test_ls: %d\n", index);
 	
+	dir->mode = 0666;
 	switch (index) {
 	case 0:
 		dir->name = estrdup9p("File0");
@@ -96,7 +97,8 @@
 		dir->name = estrdup9p("File2");
 		break;
 	case 3:
-		dir->name = estrdup9p("File3");
+		dir->name = estrdup9p("Folder3");
+		dir->mode = 0775|DMDIR;
 		break;
 	default:
 		return -1;
--