[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 09/10] kern: Make it possible to subtract conditions from debug=
From: |
Javier Martinez Canillas |
Subject: |
[PATCH 09/10] kern: Make it possible to subtract conditions from debug= |
Date: |
Fri, 13 Mar 2020 20:16:59 +0100 |
From: Peter Jones <address@hidden>
This makes it so you can do set debug to "all,-scripting,-lexer" and get the
obvious outcome. Any negation present will take preference over that
conditional, so "all,-scripting,scripting" is the same thing as
"all,-scripting".
Signed-off-by: Peter Jones <address@hidden>
Signed-off-by: Javier Martinez Canillas <address@hidden>
---
grub-core/kern/misc.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c
index ce92ddd076d..e5fd8c1915f 100644
--- a/grub-core/kern/misc.c
+++ b/grub-core/kern/misc.c
@@ -162,12 +162,24 @@ int
grub_debug_enabled (const char * condition)
{
const char *debug;
+ char *negcond;
+ int negated = 0;
debug = grub_env_get ("debug");
if (!debug)
return 0;
- if (grub_strword (debug, "all") || grub_strword (debug, condition))
+ negcond = grub_zalloc (grub_strlen (condition) + 2);
+ if (negcond)
+ {
+ grub_strcpy (negcond, "-");
+ grub_strcpy (negcond+1, condition);
+ negated = grub_strword (debug, negcond);
+ grub_free (negcond);
+ }
+
+ if (!negated &&
+ (grub_strword (debug, "all") || grub_strword (debug, condition)))
return 1;
return 0;
--
2.24.1
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH 09/10] kern: Make it possible to subtract conditions from debug=,
Javier Martinez Canillas <=