Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party FatFs
提交
9faf7808
T
Third Party FatFs
项目概览
OpenHarmony
/
Third Party FatFs
8 个月 前同步成功
通知
2
Star
21
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party FatFs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
9faf7808
编写于
5月 18, 2021
作者:
O
openharmony_ci
提交者:
Gitee
5月 18, 2021
浏览文件
操作
浏览文件
下载
差异文件
!13 FATFS f_write和f_lseek在磁盘写满的情况下未返回错误
Merge pull request !13 from Far/master
上级
ac9f86b3
4f46771d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
3 deletion
+9
-3
source/ff.c
source/ff.c
+9
-3
未找到文件。
source/ff.c
浏览文件 @
9faf7808
...
...
@@ -3592,7 +3592,10 @@ FRESULT f_write (
clst
=
create_chain
(
&
fp
->
obj
,
fp
->
clust
);
/* Follow or stretch cluster chain on the FAT */
}
}
if
(
clst
==
0
)
break
;
/* Could not allocate a new cluster (disk full) */
if
(
clst
==
0
)
{
/* Could not allocate a new cluster (disk full) */
res
=
FR_NO_SPACE_LEFT
;
break
;
}
if
(
clst
==
1
)
ABORT
(
fs
,
FR_INT_ERR
);
if
(
clst
==
0xFFFFFFFF
)
ABORT
(
fs
,
FR_DISK_ERR
);
fp
->
clust
=
clst
;
/* Update current cluster */
...
...
@@ -3673,7 +3676,7 @@ FRESULT f_write (
fp
->
flag
|=
FA_MODIFIED
;
/* Set file change flag */
LEAVE_FF
(
fs
,
FR_OK
);
LEAVE_FF
(
fs
,
res
);
}
/*-----------------------------------------------------------------------*/
...
...
@@ -4026,6 +4029,7 @@ FRESULT f_lseek (
#if !FF_FS_READONLY
if
(
clst
==
0
)
{
/* If no cluster chain, create a new chain */
clst
=
create_chain
(
&
fp
->
obj
,
0
);
if
(
clst
==
0
)
res
=
FR_NO_SPACE_LEFT
;
if
(
clst
==
1
)
ABORT
(
fs
,
FR_INT_ERR
);
if
(
clst
==
0xFFFFFFFF
)
ABORT
(
fs
,
FR_DISK_ERR
);
fp
->
obj
.
sclust
=
clst
;
...
...
@@ -4040,7 +4044,9 @@ FRESULT f_lseek (
if
(
fp
->
flag
&
FA_WRITE
)
{
/* Check if in write mode or not */
clst
=
create_chain
(
&
fp
->
obj
,
clst
);
/* Follow chain with forceed stretch */
if
(
clst
==
0
)
{
/* Clip file size in case of disk full */
ofs
=
0
;
break
;
ofs
=
0
;
res
=
FR_NO_SPACE_LEFT
;
break
;
}
}
else
#endif
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录