]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
kern/misc: Split parse_printf_args() into format parsing and va_list handling
authorThomas Frauendorfer | Miray Software <tf@miray.de>
Mon, 15 Feb 2021 12:40:16 +0000 (13:40 +0100)
committerDaniel Kiper <daniel.kiper@oracle.com>
Tue, 2 Mar 2021 14:54:19 +0000 (15:54 +0100)
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 <tf@miray.de>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
grub-core/kern/misc.c

index 430e7234092ad6a63c018fc3e9cf5a0d71fd66d8..c58857ca2fe09f71c67b2b3269a3cd656094a6a9 100644 (file)
@@ -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)