fix bug in open
This commit is contained in:
parent
d51e4c32c4
commit
108c73e35f
1 changed files with 2 additions and 1 deletions
3
fs/fs.c
3
fs/fs.c
|
@ -73,7 +73,7 @@ int open_fs(fildes_t* file, const char* name)
|
|||
if (name[0] == '/')
|
||||
file_node = fs_root;
|
||||
|
||||
while((name[j] != '\0') && (file_node != NULL)) {
|
||||
while((name[j] != '\0') || ((file_node != NULL) && (file_node->type == FS_DIRECTORY))) {
|
||||
i = 0;
|
||||
while((name[j] != '/') && (name[j] != '\0')) {
|
||||
fname[i] = name[j];
|
||||
|
@ -86,6 +86,7 @@ int open_fs(fildes_t* file, const char* name)
|
|||
j++;
|
||||
}
|
||||
|
||||
kprintf("-------------: dir_node = %p, file_node = %p, name = %s", dir_node, file_node, fname);
|
||||
/* file exists */
|
||||
if(file_node) {
|
||||
spinlock_lock(&file_node->lock);
|
||||
|
|
Loading…
Add table
Reference in a new issue