Skip to content

Commit 4d9512f

Browse files
xiaoxiang781216GUIDINGLI
authored andcommitted
fs/romfs: Add romfs_devstrcpy and romfs_devmemcpy
Signed-off-by: Xiang Xiao <[email protected]>
1 parent 808beab commit 4d9512f

File tree

1 file changed

+25
-6
lines changed

1 file changed

+25
-6
lines changed

fs/romfs/fs_romfsutil.c

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -514,6 +514,26 @@ static int romfs_alloc_spareregion(FAR struct list_node *list,
514514
return -ENOENT;
515515
}
516516

517+
/****************************************************************************
518+
* Name: romfs_devmemcpy
519+
****************************************************************************/
520+
521+
static void romfs_devmemcpy(FAR struct romfs_mountpt_s *rm,
522+
int ndx, FAR const void *buf, size_t len)
523+
{
524+
memcpy(rm->rm_devbuffer + ndx, buf, len);
525+
}
526+
527+
/****************************************************************************
528+
* Name: romfs_devstrcpy
529+
****************************************************************************/
530+
531+
static void romfs_devstrcpy(FAR struct romfs_mountpt_s *rm,
532+
int ndx, FAR const char *buf)
533+
{
534+
strcpy((FAR char *)rm->rm_devbuffer + ndx, buf);
535+
}
536+
517537
/****************************************************************************
518538
* Name: romfs_devwrite32
519539
*
@@ -951,7 +971,7 @@ int romfs_fsconfigure(FAR struct romfs_mountpt_s *rm, FAR const void *data)
951971

952972
/* Verify the magic number at that identifies this as a ROMFS filesystem */
953973

954-
if (memcmp(rm->rm_buffer, ROMFS_VHDR_MAGIC, 8) != 0)
974+
if (memcmp(rm->rm_buffer, ROMFS_VHDR_MAGIC, ROMFS_VHDR_SIZE) != 0)
955975
{
956976
return -EINVAL;
957977
}
@@ -1441,32 +1461,31 @@ int romfs_mkfs(FAR struct romfs_mountpt_s *rm)
14411461
{
14421462
/* Write the magic number at that identifies this as a ROMFS filesystem */
14431463

1444-
memcpy(rm->rm_devbuffer + ROMFS_VHDR_ROM1FS, ROMFS_VHDR_MAGIC,
1445-
ROMFS_VHDR_SIZE);
1464+
romfs_devmemcpy(rm, ROMFS_VHDR_ROM1FS, ROMFS_VHDR_MAGIC, ROMFS_VHDR_SIZE);
14461465

14471466
/* Init the ROMFS volume to zero */
14481467

14491468
romfs_devwrite32(rm, ROMFS_VHDR_SIZE, 0);
14501469

14511470
/* Write the volume name */
14521471

1453-
memcpy(rm->rm_devbuffer + ROMFS_VHDR_VOLNAME, "romfs", 6);
1472+
romfs_devstrcpy(rm, ROMFS_VHDR_VOLNAME, "romfs");
14541473

14551474
/* Write the root node . */
14561475

14571476
romfs_devwrite32(rm, 0x20 + ROMFS_FHDR_NEXT, 0x40 | RFNEXT_DIRECTORY);
14581477
romfs_devwrite32(rm, 0x20 + ROMFS_FHDR_INFO, 0x20);
14591478
romfs_devwrite32(rm, 0x20 + ROMFS_FHDR_SIZE, 0);
14601479
romfs_devwrite32(rm, 0x20 + ROMFS_FHDR_CHKSUM, 0);
1461-
memcpy(rm->rm_devbuffer + 0x20 + ROMFS_FHDR_NAME, ".", 2);
1480+
romfs_devstrcpy(rm, 0x20 + ROMFS_FHDR_NAME, ".");
14621481

14631482
/* Write the root node .. */
14641483

14651484
romfs_devwrite32(rm, 0x40 + ROMFS_FHDR_NEXT, RFNEXT_HARDLINK);
14661485
romfs_devwrite32(rm, 0x40 + ROMFS_FHDR_INFO, 0x20);
14671486
romfs_devwrite32(rm, 0x40 + ROMFS_FHDR_SIZE, 0);
14681487
romfs_devwrite32(rm, 0x40 + ROMFS_FHDR_CHKSUM, 0);
1469-
memcpy(rm->rm_devbuffer + 0x40 + ROMFS_FHDR_NAME, "..", 3);
1488+
romfs_devstrcpy(rm, 0x40 + ROMFS_FHDR_NAME, "..");
14701489

14711490
/* Write the buffer to sector zero */
14721491

0 commit comments

Comments
 (0)