From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Thomas Frauendorfer | Miray Software Date: Mon, 15 Feb 2021 13:40:16 +0100 Subject: [PATCH] kern/misc: Split parse_printf_args() into format parsing and va_list handling This patch is preparing for a follow up patch which will use the format parsing part to compare the arguments in a printf() format from an external source against a printf() format with expected arguments. Signed-off-by: Thomas Frauendorfer | Miray Software Reviewed-by: Daniel Kiper --- grub-core/kern/misc.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c index 475f3e0ef..ebfcc95f0 100644 --- a/grub-core/kern/misc.c +++ b/grub-core/kern/misc.c @@ -711,8 +711,7 @@ grub_lltoa (char *str, int c, unsigned long long n) } static void -parse_printf_args (const char *fmt0, struct printf_args *args, - va_list args_in) +parse_printf_arg_fmt (const char *fmt0, struct printf_args *args) { const char *fmt; char c; @@ -870,6 +869,14 @@ parse_printf_args (const char *fmt0, struct printf_args *args, break; } } +} + +static void +parse_printf_args (const char *fmt0, struct printf_args *args, va_list args_in) +{ + grub_size_t n; + + parse_printf_arg_fmt (fmt0, args); for (n = 0; n < args->count; n++) switch (args->ptr[n].type)