From b6b6d42a89be8ac7b485dd9c84881345a9477aee Mon Sep 17 00:00:00 2001 From: Marian Ohligs Date: Tue, 8 Nov 2011 15:55:15 +0100 Subject: [PATCH] fix bug in open --- fs/fs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/fs.c b/fs/fs.c index c6c16440..5485cb37 100644 --- a/fs/fs.c +++ b/fs/fs.c @@ -79,7 +79,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]; @@ -108,6 +108,7 @@ int open_fs(fildes_t* file, const char* name) ret = dir_node->open(file, fname); spinlock_unlock(&dir_node->lock); } else { + kprintf("KERNELERROR"); ret = -ENOENT; }