From 8fadf59d1a23c9e7d60130c18e83192a208296d8 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Tue, 18 Mar 2025 18:44:48 -0400 Subject: [PATCH] headers: Move asprintf & vasprintf to stdio.h. They're implemented in libroot, not libbsd, and they're now in POSIX-2024 anyway. --- headers/compatibility/bsd/stdio.h | 8 ++------ headers/posix/stdio.h | 2 ++ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/headers/compatibility/bsd/stdio.h b/headers/compatibility/bsd/stdio.h index 9f5f690095..dedf8e6c17 100644 --- a/headers/compatibility/bsd/stdio.h +++ b/headers/compatibility/bsd/stdio.h @@ -6,11 +6,11 @@ #define _BSD_STDIO_H_ -#include_next #include +#include_next -#if defined(_DEFAULT_SOURCE) || defined(_GNU_SOURCE) +#ifdef _DEFAULT_SOURCE #ifdef __cplusplus @@ -19,10 +19,6 @@ extern "C" { char *fgetln(FILE *stream, size_t *_length); -int asprintf(char **ret, char const *format, ...) _PRINTFLIKE(2,3); -int vasprintf(char **ret, char const *format, va_list ap); - - #ifdef __cplusplus } #endif diff --git a/headers/posix/stdio.h b/headers/posix/stdio.h index bde8ab4645..73a74a8768 100644 --- a/headers/posix/stdio.h +++ b/headers/posix/stdio.h @@ -169,6 +169,7 @@ extern ssize_t getdelim(char **_line, size_t *_length, int delimiter, extern ssize_t getline(char **_line, size_t *_length, FILE *stream); /* formatted I/O */ +extern int asprintf(char **ret, char const *format, ...) _PRINTFLIKE(2,3); extern int printf(char const *format, ...) _PRINTFLIKE(1,2); #if !defined(_KERNEL_MODE) && !defined(_BOOT_MODE) && !defined(_LOADER_MODE) extern int dprintf(int fd, char const *format, ...) _PRINTFLIKE(2,3); @@ -176,6 +177,7 @@ extern int dprintf(int fd, char const *format, ...) _PRINTFLIKE(2,3); extern int fprintf(FILE *stream, char const *format, ...) _PRINTFLIKE(2,3); extern int sprintf(char *string, char const *format, ...) _PRINTFLIKE(2,3); extern int snprintf(char *string, size_t size, char const *format, ...) _PRINTFLIKE(3,4); +extern int vasprintf(char **ret, char const *format, va_list ap); extern int vprintf(char const *format, va_list ap); extern int vfprintf(FILE *stream, char const *format, va_list ap); extern int vsprintf(char *string, char const *format, va_list ap);