fix bug in open

This commit is contained in:
Marian Ohligs 2011-11-08 15:46:40 +01:00
parent d51e4c32c4
commit 108c73e35f

View file

@ -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);