aboutsummaryrefslogtreecommitdiff
path: root/stdio-common/printf_function_invoke.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2022-08-18 08:49:54 +0200
committerFlorian Weimer <fweimer@redhat.com>2022-12-12 15:38:32 +0100
commit8699991d4d2c2a85ee497acb9d2740a2afef0816 (patch)
treed46949ae22931355f0e3b8d2ce639c7001ec2203 /stdio-common/printf_function_invoke.c
parent9e6084af5260c144509be67a906696db99dc5ddf (diff)
downloadglibc-8699991d4d2c2a85ee497acb9d2740a2afef0816.tar.xz
glibc-8699991d4d2c2a85ee497acb9d2740a2afef0816.zip
stdio-common: Add __printf_function_invoke
And __wprintf_function_invoke. These functions will be used to to call registered printf specifier callbacks on printf buffers after vfprintf and vfwprintf have been converted to buffers. The new implementation avoids alloca/variable length arrays.
Diffstat (limited to 'stdio-common/printf_function_invoke.c')
-rw-r--r--stdio-common/printf_function_invoke.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/stdio-common/printf_function_invoke.c b/stdio-common/printf_function_invoke.c
new file mode 100644
index 0000000000..8919b892ca
--- /dev/null
+++ b/stdio-common/printf_function_invoke.c
@@ -0,0 +1,22 @@
+/* Invoke a printf specifier handler. Multibyte version.
+ Copyright (C) 2022 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <printf.h>
+#include <printf_buffer_as_file.h>
+#include "printf_buffer-char.h"
+#include "Xprintf_function_invoke.c"