X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/7515e526342f6ee07cbe92f5a458f1c2c4a1fcaf..90129c6876c9bac2e468ab82c8264352d1952b4d:/lunaix-os/kernel/demos/dir_read.c diff --git a/lunaix-os/kernel/demos/dir_read.c b/lunaix-os/kernel/demos/dir_read.c index 7a63ba9..a0ef65f 100644 --- a/lunaix-os/kernel/demos/dir_read.c +++ b/lunaix-os/kernel/demos/dir_read.c @@ -1,5 +1,6 @@ #include #include +#include #include LOG_MODULE("RDDIR") @@ -7,9 +8,9 @@ LOG_MODULE("RDDIR") void _readdir_main() { - int fd = open("/dev/block", 0); + int fd = open("/dev/./../dev/.", 0); if (fd == -1) { - kprintf(KERROR "fail to open\n"); + kprintf(KERROR "fail to open (%d)\n", geterrno()); return; } @@ -19,6 +20,17 @@ _readdir_main() kprintf(KINFO "%s\n", ent.d_name); } + char path[129]; + + int len = readlinkat(fd, ".", path, 128); + if (len < 0) { + kprintf(KERROR "fail to read (%d)\n", geterrno()); + } + + path[len] = 0; + + kprintf("%s\n", path); + close(fd); return;