diff --git a/debug/readlink.c b/debug/readlink.c new file mode 100644 index 0000000..0787941 --- /dev/null +++ b/debug/readlink.c @@ -0,0 +1,17 @@ +#include +#include +#include +#include + +int main(int argc, char **argv) { + char *buf = (char *)malloc(1024); + + printf("__error: 0x%X\n", (u_int32_t)__error()); + printf("errno: %i\n", errno); + printf("readlink: %i\n", readlink("/etc/malloc.conf", buf, 1024)); + printf("buf: [%s]\n", buf); + printf("__error: 0x%X\n", (u_int32_t)__error()); + printf("errno: %i\n", errno); + + return(0); +} diff --git a/sys/kernel/vfs_calls.c b/sys/kernel/vfs_calls.c index 35377ee..3e5759d 100644 --- a/sys/kernel/vfs_calls.c +++ b/sys/kernel/vfs_calls.c @@ -294,13 +294,9 @@ } int sys_readlink(struct thread *thr, struct sys_readlink_args *args) { - kprintf("Call to readlink\n"); - kprintf("Path: %s\n", args->path); - kprintf("Count: %i\n", args->count); - kprintf("EDX: 0x%X:0x%X", thr->td_retval[1], thr->td_retval[1][0]); + kprintf("RL: %s:%i\n", args->path, args->count); //Return Error - thr->td_retval[0] = 3; - thr->td_retval[1][0] = 2; + thr->td_retval[0] = 2; return (-1); }