aboutsummaryrefslogtreecommitdiff
path: root/stdio-common
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2022-05-24 08:03:11 +0200
committerFlorian Weimer <fweimer@redhat.com>2022-05-24 08:03:11 +0200
commitfe8ca369ad2eb8a4a5d572c6c48f38dd99ff3c01 (patch)
tree4d30bd20b87f9d370ee9f563c1b601baeb51a346 /stdio-common
parent46db9783476e7e2b3f2437ec6437436443699fca (diff)
downloadglibc-fe8ca369ad2eb8a4a5d572c6c48f38dd99ff3c01.zip
glibc-fe8ca369ad2eb8a4a5d572c6c48f38dd99ff3c01.tar.gz
glibc-fe8ca369ad2eb8a4a5d572c6c48f38dd99ff3c01.tar.bz2
stdio-common: Simplify printf_unknown interface in vfprintf-internal.c
The called function does not use the args array, so there is no need to produce it. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'stdio-common')
-rw-r--r--stdio-common/vfprintf-internal.c21
1 files changed, 3 insertions, 18 deletions
diff --git a/stdio-common/vfprintf-internal.c b/stdio-common/vfprintf-internal.c
index f8aa2fd..fb94961 100644
--- a/stdio-common/vfprintf-internal.c
+++ b/stdio-common/vfprintf-internal.c
@@ -672,8 +672,7 @@ static int printf_positional (FILE *s,
unsigned int mode_flags);
/* Handle unknown format specifier. */
-static int printf_unknown (FILE *, const struct printf_info *,
- const void *const *) __THROW;
+static int printf_unknown (FILE *, const struct printf_info *) __THROW;
/* Group digits of number string. */
static CHAR_T *group_number (CHAR_T *, CHAR_T *, CHAR_T *, const char *,
@@ -1465,19 +1464,7 @@ printf_positional (FILE *s, const CHAR_T *format, int readonly_format,
LABEL (form_unknown):
{
- unsigned int i;
- const void **ptr;
-
- ptr = alloca (specs[nspecs_done].ndata_args
- * sizeof (const void *));
-
- /* Fill in an array of pointers to the argument values. */
- for (i = 0; i < specs[nspecs_done].ndata_args; ++i)
- ptr[i] = &args_value[specs[nspecs_done].data_arg + i];
-
- /* Call the function. */
- function_done = printf_unknown (s, &specs[nspecs_done].info,
- ptr);
+ int function_done = printf_unknown (s, &specs[nspecs_done].info);
/* If an error occurred we don't have information about #
of chars. */
@@ -1507,9 +1494,7 @@ printf_positional (FILE *s, const CHAR_T *format, int readonly_format,
/* Handle an unknown format specifier. This prints out a canonicalized
representation of the format spec itself. */
static int
-printf_unknown (FILE *s, const struct printf_info *info,
- const void *const *args)
-
+printf_unknown (FILE *s, const struct printf_info *info)
{
int done = 0;
CHAR_T work_buffer[MAX (sizeof (info->width), sizeof (info->prec)) * 3];