Răsfoiți Sursa

fix: io.lsdir总是缺2个 https://gitee.com/openLuat/LuatOS/issues/I60F39

Wendal Chen 3 ani în urmă
părinte
comite
97a2bd779c
2 a modificat fișierele cu 2 adăugiri și 3 ștergeri
  1. 1 2
      luat/vfs/luat_fs_lfs2.c
  2. 1 1
      luat/vfs/luat_fs_luadb.c

+ 1 - 2
luat/vfs/luat_fs_lfs2.c

@@ -213,7 +213,7 @@ int luat_vfs_lfs2_lsdir(void* userdata, char const* _DirName, luat_fs_dirent_t*
             }
         }
 
-        for (size_t i = 0; i < len; i++)
+        while (num < len)
         {
             ret = lfs_dir_read(fs, dir, &info);
             if (ret < 0) {
@@ -222,7 +222,6 @@ int luat_vfs_lfs2_lsdir(void* userdata, char const* _DirName, luat_fs_dirent_t*
                 return 0;
             }
             if (ret == 0) {
-                len = i;
                 break;
             }
             if (info.type == 2 && (memcmp(info.name, ".", 2) !=0 ||memcmp(info.name, "..", 3)!=0))

+ 1 - 1
luat/vfs/luat_fs_luadb.c

@@ -464,7 +464,7 @@ const struct luat_vfs_filesystem vfs_fs_luadb = {
         T(umount),
         .mkdir = NULL,
         .rmdir = NULL,
-        .lsdir = NULL,
+        T(lsdir),
         .remove = NULL,
         .rename = NULL,
         T(fsize),