git: 77c088ab2109 - main - rtld: add rtld_fdprintfx()

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Sat, 13 Nov 2021 17:33:39 UTC
The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=77c088ab2109a376b71decce80e89d4f20ef8223

commit 77c088ab2109a376b71decce80e89d4f20ef8223
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2021-11-13 01:49:22 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2021-11-13 17:33:13 +0000

    rtld: add rtld_fdprintfx()
    
    It is same as rtld_fdprintf() without enforcement of the format string
    to be a literal.
    
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
---
 libexec/rtld-elf/rtld_printf.c | 12 ++++++++++++
 libexec/rtld-elf/rtld_printf.h |  1 +
 2 files changed, 13 insertions(+)

diff --git a/libexec/rtld-elf/rtld_printf.c b/libexec/rtld-elf/rtld_printf.c
index aedaf5104e31..48a148f72dff 100644
--- a/libexec/rtld-elf/rtld_printf.c
+++ b/libexec/rtld-elf/rtld_printf.c
@@ -489,6 +489,18 @@ rtld_fdprintf(int fd, const char *fmt, ...)
 	return (retval);
 }
 
+int
+rtld_fdprintfx(int fd, const char *fmt, ...)
+{
+	va_list ap;
+	int retval;
+
+	va_start(ap, fmt);
+	retval = rtld_vfdprintf(fd, fmt, ap);
+	va_end(ap);
+	return (retval);
+}
+
 void
 rtld_fdputstr(int fd, const char *str)
 {
diff --git a/libexec/rtld-elf/rtld_printf.h b/libexec/rtld-elf/rtld_printf.h
index 3d3a0480ecce..e2fac948dc53 100644
--- a/libexec/rtld-elf/rtld_printf.h
+++ b/libexec/rtld-elf/rtld_printf.h
@@ -39,6 +39,7 @@ int rtld_snprintf(char *buf, size_t bufsize, const char *fmt, ...)
 int rtld_vsnprintf(char *buf, size_t bufsize, const char *fmt, va_list ap);
 int rtld_vfdprintf(int fd, const char *fmt, va_list ap);
 int rtld_fdprintf(int fd, const char *fmt, ...) __printflike(2, 3);
+int rtld_fdprintfx(int fd, const char *fmt, ...);
 void rtld_fdputstr(int fd, const char *str);
 void rtld_fdputchar(int fd, int c);