Open wasn't returning the fd but 0 on success :-S. fixed.

This commit is contained in:
Bahadir Balban
2008-04-16 00:34:11 +01:00
parent e722ee0115
commit 9d32f840c0
2 changed files with 7 additions and 3 deletions

View File

@@ -79,7 +79,7 @@ int vfs_create(struct tcb *task, struct pathdata *pdata, unsigned int mode)
if ((err = vparent->ops.mknod(vparent, nodename, mode)) < 0)
return err;
print_vnode(vparent);
// print_vnode(vparent);
return 0;
}
@@ -130,7 +130,7 @@ int sys_open(l4id_t sender, const char *pathname, int flags, unsigned int mode)
BUG_ON(pager_sys_open(sender, fd, v->vnum, v->size) < 0);
pathdata_destroy(pdata);
l4_ipc_return(0);
l4_ipc_return(fd);
return 0;
}

View File

@@ -113,7 +113,8 @@ int lsdir(char *path)
if ((fd = open(path, O_RDONLY)) < 0) {
perror("OPEN");
return 0;
}
} else
printf("Got fd: %d for opening %s\n", fd, path);
if ((bytes = os_readdir(fd, dents, sizeof(struct dirent) * DENTS_TOTAL)) < 0) {
perror("GETDENTS\n");
@@ -161,6 +162,9 @@ int dirtest(void)
printf("\nlsdir root directory:\n");
lsdir("/");
printf("\nlsdir /usr:\n");
lsdir("/usr");
return 0;
}