diff options
Diffstat (limited to 'lib/libc')
| -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 | ||||
| -rw-r--r-- | lib/libc/gen/posix_spawn.c | 2 |
4 files changed, 19 insertions, 1 deletions
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)); +} diff --git a/lib/libc/gen/posix_spawn.c b/lib/libc/gen/posix_spawn.c index 11cdb5a29d03..faddb0d1494f 100644 --- a/lib/libc/gen/posix_spawn.c +++ b/lib/libc/gen/posix_spawn.c @@ -424,7 +424,7 @@ posix_spawn_file_actions_init(posix_spawn_file_actions_t *ret) fa = malloc(sizeof(struct __posix_spawn_file_actions)); if (fa == NULL) - return (-1); + return (errno); STAILQ_INIT(&fa->fa_list); *ret = fa; |
