From 9b52e4e311f381a08ed99f7b697e71fb6afc0c8f Mon Sep 17 00:00:00 2001 From: anjiahao Date: Thu, 23 Sep 2021 14:08:49 +0800 Subject: [PATCH] littlefs:fix rmdir can remove a file Signed-off-by: anjiahao --- fs/littlefs/lfs_vfs.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/fs/littlefs/lfs_vfs.c b/fs/littlefs/lfs_vfs.c index 66b666c9698..75d3d335c2b 100644 --- a/fs/littlefs/lfs_vfs.c +++ b/fs/littlefs/lfs_vfs.c @@ -1258,7 +1258,17 @@ static int littlefs_mkdir(FAR struct inode *mountpt, FAR const char *relpath, static int littlefs_rmdir(FAR struct inode *mountpt, FAR const char *relpath) { - return littlefs_unlink(mountpt, relpath); + struct stat buf; + + littlefs_stat(mountpt, relpath, &buf); + if (S_ISDIR(buf.st_mode)) + { + return littlefs_unlink(mountpt, relpath); + } + else + { + return -ENOTDIR; + } } /****************************************************************************