u32_t l = drec->name.len;
while (l < (u32_t)-1 && drec->name.content[l--] != ';')
;
- l = (l + 1) ? l : drec->name.len;
- l = MIN(l, ISO9660_IDLEN);
+ l++;
+ l = l ? l : drec->name.len;
+ l = MIN(l, ISO9660_IDLEN - 1);
+
strncpy(cache->name_val, drec->name.content, l);
cache->name = HSTR(cache->name_val, l);
hstr_rehash(&cache->name, HSTR_FULL_HASH);
iso9660_setup_dnode(struct v_dnode* dnode, struct v_inode* inode)
{
if (!(inode->itype & VFS_IFDIR)) {
- return;
+ vfs_assign_inode(dnode, inode);
+ return 0;
}
int errno = 0;
vfs_i_addhash(inode);
}
- iso9660_setup_dnode(dnode, inode);
-
- return 0;
+ return iso9660_setup_dnode(dnode, inode);
}
static int