Kernel/LibC: Implement readlink in terms of readlinkat

This commit is contained in:
2024-09-17 16:38:15 +03:00
parent f1a4bbce53
commit 3666525d24
4 changed files with 18 additions and 29 deletions

View File

@@ -55,7 +55,6 @@ __BEGIN_DECLS
O(SYS_FCHMOD, fchmod) \
O(SYS_CREATE_DIR, create_dir) \
O(SYS_UNLINK, unlink) \
O(SYS_READLINK, readlink) \
O(SYS_READLINKAT, readlinkat) \
O(SYS_MSYNC, msync) \
O(SYS_PREAD, pread) \

View File

@@ -3,6 +3,7 @@
#include <kernel/Syscall.h>
#include <errno.h>
#include <fcntl.h>
#include <pwd.h>
#include <stdarg.h>
#include <stdio.h>
@@ -86,7 +87,7 @@ ssize_t write(int fildes, const void* buf, size_t nbyte)
ssize_t readlink(const char* __restrict path, char* __restrict buf, size_t bufsize)
{
return syscall(SYS_READLINK, path, buf, bufsize);
return readlinkat(AT_FDCWD, path, buf, bufsize);
}
ssize_t readlinkat(int fd, const char* __restrict path, char* __restrict buf, size_t bufsize)