From: Thomas Frauendorfer | Miray Software Date: Mon, 15 Feb 2021 12:40:16 +0000 (+0100) Subject: kern/misc: Split parse_printf_args() into format parsing and va_list handling X-Git-Tag: grub-2.06-rc1~31 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7f11bde3143b21b40d8225ea1d641e0f83b5a01e;p=thirdparty%2Fgrub.git 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 --- diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c index 430e72340..c58857ca2 100644 --- a/grub-core/kern/misc.c +++ b/grub-core/kern/misc.c @@ -645,8 +645,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; @@ -804,6 +803,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)