You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.4 KiB
47 lines
1.4 KiB
8 months ago
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
From: Thomas Frauendorfer | Miray Software <tf@miray.de>
|
||
|
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 <tf@miray.de>
|
||
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||
|
---
|
||
|
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)
|