sumting
This commit is contained in:
12
kernel/vfs.c
12
kernel/vfs.c
@@ -39,22 +39,24 @@ vfs_node_t* vfs_find(const char* path) {
|
|||||||
char* tkn = strtok_r(path_cpy, "/", &sav);
|
char* tkn = strtok_r(path_cpy, "/", &sav);
|
||||||
while (tkn != NULL) {
|
while (tkn != NULL) {
|
||||||
if (!current || !current->find) {
|
if (!current || !current->find) {
|
||||||
current = NULL;
|
return NULL;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
current = current->find(current, tkn);
|
current = current->find(current, tkn);
|
||||||
|
tkn = strtok_r(NULL, "/", &sav);
|
||||||
|
|
||||||
if (current == NULL) {
|
if (current == NULL) {
|
||||||
break;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
tkn = strtok_r(NULL, "/", &sav);
|
if (tkn && !(current->flags & VFS_DIRECTORY)) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
kfree(path_cpy);
|
kfree(path_cpy);
|
||||||
|
|
||||||
return NULL;
|
return current;
|
||||||
}
|
}
|
||||||
|
|
||||||
vfs_node_t* vfs_mkdir(vfs_node_t* parent, const char* name) {
|
vfs_node_t* vfs_mkdir(vfs_node_t* parent, const char* name) {
|
||||||
|
|||||||
Reference in New Issue
Block a user