fix opening directories and saving inode_ptr instead of inode in fd
This commit is contained in:
parent
585492b6d7
commit
72a02047d5
12
src/fs.c
12
src/fs.c
|
@ -1029,7 +1029,17 @@ int fs_open(void *d)
|
|||
return 0;
|
||||
}
|
||||
|
||||
fs_file_descriptions[free_fd].inode = rp.target_inode_ptr;
|
||||
{
|
||||
struct fs_inode i;
|
||||
read_block(read_inode_ptr(rp.target_inode_ptr), &i);
|
||||
|
||||
if (i.ftype == DIRECTORY) {
|
||||
pr_err("can't open '%s': file is a directory\n", rp.target_fname);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
fs_file_descriptions[free_fd].inode = read_inode_ptr(rp.target_inode_ptr);
|
||||
fs_file_descriptions[free_fd].rw_offset = 0;
|
||||
|
||||
pr_stdout("%d\n", free_fd);
|
||||
|
|
Loading…
Reference in New Issue