got some of the pty actually working in userspace

This commit is contained in:
2026-07-12 03:56:25 -05:00
parent 992ffd1f6b
commit 3c6fd8cb65
16 changed files with 140 additions and 147 deletions

View File

@@ -28,9 +28,11 @@ void vfs_mount(vfs_node_t* _mnt, vfs_node_t* _fs) {
vfs_node_t* vfs_find(const char* path) {
vfs_node_t* current = root;
if (current->mnt) {
current = current->mnt;
}
char* sav = NULL;
size_t path_sz = strlen(path) + 1;
char* path_cpy = kalloc(path_sz);
memset((uint8_t*)path_cpy, 0, path_sz);
@@ -38,24 +40,27 @@ vfs_node_t* vfs_find(const char* path) {
char* tkn = strtok_r(path_cpy, "/", &sav);
while (tkn != NULL) {
if (current && current->mnt) {
current = current->mnt;
}
if (!current || !current->find) {
return NULL;
}
current = current->find(current, tkn);
tkn = strtok_r(NULL, "/", &sav);
if (current == NULL) {
return NULL;
}
tkn = strtok_r(NULL, "/", &sav);
if (tkn && !(current->flags & VFS_DIRECTORY)) {
return NULL;
}
}
kfree(path_cpy);
kfree(path_cpy);
return current;
}