Skip to content

Commit 3d8114b

Browse files
authored
[FIX][fal]char设备类型补充缺失的入参,适配DFSv2框架 (#11112)
* [FIX][fal]补充缺失的入参,适配DFSv2框架 * [FIX][fal]正确声明入参的数据类型 * [chg]按审查建议修改变量类型和代码格式。
1 parent 96bce36 commit 3d8114b

File tree

1 file changed

+28
-14
lines changed

1 file changed

+28
-14
lines changed

components/fal/src/fal_rtt.c

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -435,42 +435,56 @@ static int char_dev_fopen(struct dfs_file *fd)
435435
return RT_EOK;
436436
}
437437

438-
static int char_dev_fread(struct dfs_file *fd, void *buf, rt_size_t count)
438+
#ifdef RT_USING_DFS_V2
439+
static rt_ssize_t char_dev_fread(struct dfs_file *fd, void *buf, size_t count, off_t *pos)
440+
#else
441+
static rt_ssize_t char_dev_fread(struct dfs_file *fd, void *buf, size_t count)
442+
#endif
439443
{
440-
int ret = 0;
444+
rt_ssize_t ret = 0;
441445
struct fal_char_device *part = (struct fal_char_device *) fd->vnode->data;
446+
#ifndef RT_USING_DFS_V2
447+
off_t *pos = &(fd->pos);
448+
#endif
442449

443450
RT_ASSERT(part != RT_NULL);
444451

445-
if (DFS_FILE_POS(fd) + count > part->fal_part->len)
446-
count = part->fal_part->len - DFS_FILE_POS(fd);
452+
if (*pos + count > part->fal_part->len)
453+
count = part->fal_part->len - *pos;
447454

448-
ret = fal_partition_read(part->fal_part, DFS_FILE_POS(fd), buf, count);
455+
ret = fal_partition_read(part->fal_part, *pos, buf, count);
449456

450-
if (ret != (int)(count))
457+
if (ret != (rt_ssize_t)(count))
451458
return 0;
452459

453-
DFS_FILE_POS(fd) += ret;
460+
*pos += ret;
454461

455462
return ret;
456463
}
457464

458-
static int char_dev_fwrite(struct dfs_file *fd, const void *buf, rt_size_t count)
465+
#ifdef RT_USING_DFS_V2
466+
static rt_ssize_t char_dev_fwrite(struct dfs_file *fd, const void *buf, size_t count, off_t *pos)
467+
#else
468+
static rt_ssize_t char_dev_fwrite(struct dfs_file *fd, const void *buf, size_t count)
469+
#endif
459470
{
460-
int ret = 0;
471+
rt_ssize_t ret = 0;
461472
struct fal_char_device *part = (struct fal_char_device *) fd->vnode->data;
473+
#ifndef RT_USING_DFS_V2
474+
off_t *pos = &(fd->pos);
475+
#endif
462476

463477
RT_ASSERT(part != RT_NULL);
464478

465-
if (DFS_FILE_POS(fd) + count > part->fal_part->len)
466-
count = part->fal_part->len - DFS_FILE_POS(fd);
479+
if (*pos + count > part->fal_part->len)
480+
count = part->fal_part->len - *pos;
467481

468-
ret = fal_partition_write(part->fal_part, DFS_FILE_POS(fd), buf, count);
482+
ret = fal_partition_write(part->fal_part, *pos, buf, count);
469483

470-
if (ret != (int) count)
484+
if (ret != (rt_ssize_t) count)
471485
return 0;
472486

473-
DFS_FILE_POS(fd) += ret;
487+
*pos += ret;
474488

475489
return ret;
476490
}

0 commit comments

Comments
 (0)