static void make_root_inode(struct fs_control *ctl) { char *tmp = root_block; if (fs_version == 3) { *(uint32_t *) tmp = 1; strcpy(tmp + 4, "."); tmp += ctl->fs_dirsize; *(uint32_t *) tmp = 1; strcpy(tmp + 4, ".."); tmp += ctl->fs_dirsize; *(uint32_t *) tmp = 2; strcpy(tmp + 4, ".badblocks"); } else { *(uint16_t *) tmp = 1; strcpy(tmp + 2, "."); tmp += ctl->fs_dirsize; *(uint16_t *) tmp = 1; strcpy(tmp + 2, ".."); tmp += ctl->fs_dirsize; *(uint16_t *) tmp = 2; strcpy(tmp + 2, ".badblocks"); } if (fs_version < 2) { make_root_inode_v1(ctl); return; } make_root_inode_v2_v3(ctl); }
static void make_root_inode(void) { if (fs_version < 2) { make_root_inode_v1(); return; } make_root_inode_v2_v3(); }