From: Alejandro Colomar Date: Sun, 8 Dec 2024 11:21:06 +0000 (+0100) Subject: lib/string/sprintf/, tests/: xaprintf(): Reimplement in terms of exit_if_null() X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e645cc0d2822a5ddbd3bbe7b0a9b2e5d0f65493b;p=thirdparty%2Fshadow.git lib/string/sprintf/, tests/: xaprintf(): Reimplement in terms of exit_if_null() Signed-off-by: Alejandro Colomar --- diff --git a/lib/string/sprintf/xaprintf.c b/lib/string/sprintf/xaprintf.c index 81a3df200..87617e768 100644 --- a/lib/string/sprintf/xaprintf.c +++ b/lib/string/sprintf/xaprintf.c @@ -5,9 +5,3 @@ #include "config.h" #include "string/sprintf/xaprintf.h" - -#include - - -extern inline char *xaprintf(const char *restrict fmt, ...); -extern inline char *xvaprintf(const char *restrict fmt, va_list ap); diff --git a/lib/string/sprintf/xaprintf.h b/lib/string/sprintf/xaprintf.h index 71b262c9a..6b23385c2 100644 --- a/lib/string/sprintf/xaprintf.h +++ b/lib/string/sprintf/xaprintf.h @@ -8,52 +8,12 @@ #include "config.h" -#include -#include -#include -#include - -#include "attr.h" #include "string/sprintf/aprintf.h" - - -ATTR_MALLOC(free) -format_attr(printf, 1, 2) -inline char *xaprintf(const char *restrict fmt, ...); - -ATTR_MALLOC(free) -format_attr(printf, 1, 0) -inline char *xvaprintf(const char *restrict fmt, va_list ap); +#include "exit_if_null.h" // exit-on-error allocate print formatted -inline char * -xaprintf(const char *restrict fmt, ...) -{ - char *p; - va_list ap; - - va_start(ap, fmt); - p = xvaprintf(fmt, ap); - va_end(ap); - - return p; -} - - -inline char * -xvaprintf(const char *restrict fmt, va_list ap) -{ - char *p; - - p = vaprintf(fmt, ap); - if (p == NULL) { - perror("vaprintf"); - exit(EXIT_FAILURE); - } - - return p; -} +#define xaprintf(...) exit_if_null(aprintf(__VA_ARGS__)) #endif // include guard diff --git a/tests/unit/Makefile.am b/tests/unit/Makefile.am index 64470f462..8de0a0e0b 100644 --- a/tests/unit/Makefile.am +++ b/tests/unit/Makefile.am @@ -130,6 +130,8 @@ test_typetraits_LDADD = \ $(NULL) test_xaprintf_SOURCES = \ + ../../lib/exit_if_null.c \ + ../../lib/shadowlog.c \ ../../lib/string/sprintf/aprintf.c \ ../../lib/string/sprintf/xaprintf.c \ ../../lib/string/strcmp/streq.c \