diff --git a/fs/littlefs/lfs_vfs.c b/fs/littlefs/lfs_vfs.c index cb055a1d94d..b0624630af9 100644 --- a/fs/littlefs/lfs_vfs.c +++ b/fs/littlefs/lfs_vfs.c @@ -1448,6 +1448,7 @@ static int littlefs_stat(FAR struct inode *mountpt, FAR const char *relpath, goto errout; } + ret = 0; memset(&attr, 0, sizeof(attr)); } @@ -1465,6 +1466,15 @@ static int littlefs_stat(FAR struct inode *mountpt, FAR const char *relpath, buf->st_blocks = (buf->st_size + buf->st_blksize - 1) / buf->st_blksize; + if (info.type == LFS_TYPE_REG) + { + buf->st_mode |= S_IFREG; + } + else + { + buf->st_mode |= S_IFDIR; + } + errout: littlefs_semgive(fs); return ret; @@ -1498,6 +1508,7 @@ static int littlefs_chstat(FAR struct inode *mountpt, goto errout; } + ret = 0; memset(&attr, 0, sizeof(attr)); }