31cddd6fc0
Signed-off-by: Peter Jones <pjones@redhat.com>
61 lines
1.7 KiB
Diff
61 lines
1.7 KiB
Diff
From 6776773c89828c9b69c1552760ba6a4d9cd5589f Mon Sep 17 00:00:00 2001
|
|
From: Peter Jones <pjones@redhat.com>
|
|
Date: Thu, 30 Nov 2017 15:11:39 -0500
|
|
Subject: [PATCH] Add grub_debug_enabled()
|
|
|
|
---
|
|
grub-core/kern/misc.c | 21 ++++++++++++++++-----
|
|
include/grub/misc.h | 1 +
|
|
2 files changed, 17 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c
|
|
index 636f97e1ba1..e758ab3416d 100644
|
|
--- a/grub-core/kern/misc.c
|
|
+++ b/grub-core/kern/misc.c
|
|
@@ -159,17 +159,28 @@ int grub_err_printf (const char *fmt, ...)
|
|
__attribute__ ((alias("grub_printf")));
|
|
#endif
|
|
|
|
+int
|
|
+grub_debug_enabled (const char * condition)
|
|
+{
|
|
+ const char *debug;
|
|
+
|
|
+ debug = grub_env_get ("debug");
|
|
+ if (!debug)
|
|
+ return 0;
|
|
+
|
|
+ if (grub_strword (debug, "all") || grub_strword (debug, condition))
|
|
+ return 1;
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
void
|
|
grub_real_dprintf (const char *file, const int line, const char *condition,
|
|
const char *fmt, ...)
|
|
{
|
|
va_list args;
|
|
- const char *debug = grub_env_get ("debug");
|
|
|
|
- if (! debug)
|
|
- return;
|
|
-
|
|
- if (grub_strword (debug, "all") || grub_strword (debug, condition))
|
|
+ if (grub_debug_enabled (condition))
|
|
{
|
|
grub_printf ("%s:%d: ", file, line);
|
|
va_start (args, fmt);
|
|
diff --git a/include/grub/misc.h b/include/grub/misc.h
|
|
index 3d55bafd64e..493e328d968 100644
|
|
--- a/include/grub/misc.h
|
|
+++ b/include/grub/misc.h
|
|
@@ -367,6 +367,7 @@ grub_puts (const char *s)
|
|
}
|
|
|
|
int EXPORT_FUNC(grub_puts_) (const char *s);
|
|
+int EXPORT_FUNC(grub_debug_enabled) (const char *condition);
|
|
void EXPORT_FUNC(grub_real_dprintf) (const char *file,
|
|
const int line,
|
|
const char *condition,
|