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;
--
⑨