Removed unnecessary truncate condition thanks to new seek optimization

This commit is contained in:
Christopher Haster
2021-01-11 00:13:18 -06:00
parent 745d98cde0
commit 47d6b2fcf3

10
lfs.c
View File

@@ -3114,16 +3114,14 @@ static int lfs_file_rawtruncate(lfs_t *lfs, lfs_file_t *file, lfs_off_t size) {
file->flags |= LFS_F_DIRTY | LFS_F_READING; file->flags |= LFS_F_DIRTY | LFS_F_READING;
} else if (size > oldsize) { } else if (size > oldsize) {
// flush+seek if not already at end // flush+seek if not already at end
if (file->pos != oldsize) { lfs_soff_t res = lfs_file_rawseek(lfs, file, 0, LFS_SEEK_END);
lfs_soff_t res = lfs_file_rawseek(lfs, file, 0, LFS_SEEK_END); if (res < 0) {
if (res < 0) { return (int)res;
return (int)res;
}
} }
// fill with zeros // fill with zeros
while (file->pos < size) { while (file->pos < size) {
lfs_ssize_t res = lfs_file_rawwrite(lfs, file, &(uint8_t){0}, 1); res = lfs_file_rawwrite(lfs, file, &(uint8_t){0}, 1);
if (res < 0) { if (res < 0) {
return (int)res; return (int)res;
} }