From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2178) id 39259385625F; Tue, 24 May 2022 06:51:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 39259385625F Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Florian Weimer To: glibc-cvs@sourceware.org Subject: [glibc] stdio-common: Simplify printf_unknown interface in vfprintf-internal.c X-Act-Checkin: glibc X-Git-Author: Florian Weimer X-Git-Refname: refs/heads/master X-Git-Oldrev: 46db9783476e7e2b3f2437ec6437436443699fca X-Git-Newrev: fe8ca369ad2eb8a4a5d572c6c48f38dd99ff3c01 Message-Id: <20220524065126.39259385625F@sourceware.org> Date: Tue, 24 May 2022 06:51:26 +0000 (GMT) X-BeenThere: glibc-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Glibc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 May 2022 06:51:26 -0000 https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=fe8ca369ad2eb8a4a5d572c6c48f38dd99ff3c01 commit fe8ca369ad2eb8a4a5d572c6c48f38dd99ff3c01 Author: Florian Weimer Date: Tue May 24 08:03:11 2022 +0200 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 Diff: --- stdio-common/vfprintf-internal.c | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/stdio-common/vfprintf-internal.c b/stdio-common/vfprintf-internal.c index f8aa2fdafb..fb94961f37 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];