From 83b28c3cca2bc7582110e280d70ed75b870e9e88 Mon Sep 17 00:00:00 2001 From: angryproton Date: Wed, 24 Dec 2025 22:52:04 +0800 Subject: [PATCH] =?UTF-8?q?[FIX][DFSv2][ELMFAT]=E4=BF=AE=E5=A4=8D=E5=A4=9A?= =?UTF-8?q?=E7=BA=BF=E7=A8=8B=E7=8E=AF=E5=A2=83=E4=B8=8Blseek=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=80=BC=E6=A6=82=E7=8E=87=E6=80=A7=E8=A2=AB=E7=AF=A1?= =?UTF-8?q?=E6=94=B9=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/dfs/dfs_v2/filesystems/elmfat/dfs_elm.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/components/dfs/dfs_v2/filesystems/elmfat/dfs_elm.c b/components/dfs/dfs_v2/filesystems/elmfat/dfs_elm.c index 625a7cec5e1..8ddeec2d423 100644 --- a/components/dfs/dfs_v2/filesystems/elmfat/dfs_elm.c +++ b/components/dfs/dfs_v2/filesystems/elmfat/dfs_elm.c @@ -629,7 +629,7 @@ int dfs_elm_flush(struct dfs_file *file) off_t dfs_elm_lseek(struct dfs_file *file, off_t offset, int wherece) { FRESULT result = FR_OK; - + off_t pos = 0; switch (wherece) { case SEEK_SET: @@ -656,11 +656,12 @@ off_t dfs_elm_lseek(struct dfs_file *file, off_t offset, int wherece) RT_ASSERT(fd != RT_NULL); rt_mutex_take(&file->vnode->lock, RT_WAITING_FOREVER); result = f_lseek(fd, offset); + pos = fd->fptr; rt_mutex_release(&file->vnode->lock); if (result == FR_OK) { /* return current position */ - return fd->fptr; + return pos; } } else if (file->vnode->type == FT_DIRECTORY)