diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2026-04-12 08:56:26 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2026-05-03 19:58:36 +0000 |
| commit | ae6a13deb8e33a52188643e09171207e1d7171e8 (patch) | |
| tree | 559be4c07ea5de3245140537a08b2933bcfc6249 | |
| parent | 2213820b6f4cd22bbfdc0f45741c3e7d17ae82c0 (diff) | |
libc: add freadlink(3)
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D56365
| -rw-r--r-- | include/unistd.h | 1 | ||||
| -rw-r--r-- | lib/libc/gen/Makefile.inc | 1 | ||||
| -rw-r--r-- | lib/libc/gen/Symbol.map | 1 | ||||
| -rw-r--r-- | lib/libc/gen/freadlink.c | 16 |
4 files changed, 19 insertions, 0 deletions
diff --git a/include/unistd.h b/include/unistd.h index 797eac4c364d..290bcce6a0b3 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -518,6 +518,7 @@ int execvpe(const char *, char * const *, char * const *); int feature_present(const char *); int fchroot(int); char *fflagstostr(u_long); +ssize_t freadlink(int fd, char *buf, size_t bufsize); int getdomainname(char *, int); int getentropy(void *, size_t); int getgrouplist(const char *, gid_t, gid_t *, int *); diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index c31f789fd1d1..18a68902f50a 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -56,6 +56,7 @@ SRCS+= \ fmtmsg.c \ fnmatch.c \ fpclassify.c \ + freadlink.c \ frexp.c \ fstab.c \ ftok.c \ diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map index 60f34b3a1923..4d22251f7ec5 100644 --- a/lib/libc/gen/Symbol.map +++ b/lib/libc/gen/Symbol.map @@ -475,6 +475,7 @@ FBSD_1.8 { }; FBSD_1.9 { + freadlink; posix_spawn_file_actions_addchdir; posix_spawn_file_actions_addfchdir; posix_spawnattr_getexecfd_np; diff --git a/lib/libc/gen/freadlink.c b/lib/libc/gen/freadlink.c new file mode 100644 index 000000000000..e1ed7aba6c06 --- /dev/null +++ b/lib/libc/gen/freadlink.c @@ -0,0 +1,16 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright 2026 The FreeBSD Foundation + * + * This software were developed by Konstantin Belousov <kib@FreeBSD.org> + * under sponsorship from the FreeBSD Foundation. + */ + +#include <unistd.h> + +ssize_t +freadlink(int fd, char *buf, size_t bufsize) +{ + return (readlinkat(fd, "", buf, bufsize)); +} |
