aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Frauendorfer | Miray Software <tf@miray.de>2021-02-15 13:40:16 +0100
committerDaniel Kiper <daniel.kiper@oracle.com>2021-03-02 15:54:19 +0100
commit7f11bde3143b21b40d8225ea1d641e0f83b5a01e (patch)
tree080e6c49ec334fb4756c8edd9e7a0f1102ac4b20
parent968de8c23c1cba0f18230f778ebcf6c412ec8ec5 (diff)
downloadgrub-7f11bde3143b21b40d8225ea1d641e0f83b5a01e.tar.gz
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 <tf@miray.de> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
-rw-r--r--grub-core/kern/misc.c11
1 files changed, 9 insertions, 2 deletions
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)