Anton Arapov c2a608
From 97d23fb9a642574ef4415e71e4a01387d06744d6 Mon Sep 17 00:00:00 2001
Anton Arapov c2a608
From: Jean Delvare <jdelvare@suse.de>
Anton Arapov c2a608
Date: Thu, 30 Nov 2017 16:27:56 +0100
Anton Arapov c2a608
Subject: [PATCH 12/21] dmidecode: Share common EFI code
Anton Arapov c2a608
Anton Arapov c2a608
Avoid duplicating code between OS-specific paths.
Anton Arapov c2a608
---
Anton Arapov c2a608
 dmidecode.c | 15 ++++++++-------
Anton Arapov c2a608
 1 file changed, 8 insertions(+), 7 deletions(-)
Anton Arapov c2a608
Anton Arapov c2a608
diff --git a/dmidecode.c b/dmidecode.c
Anton Arapov c2a608
index aadef75..87faaa9 100644
Anton Arapov c2a608
--- a/dmidecode.c
Anton Arapov c2a608
+++ b/dmidecode.c
Anton Arapov c2a608
@@ -4946,6 +4946,7 @@ static int address_from_efi(off_t *address)
Anton Arapov c2a608
 #elif defined(__FreeBSD__)
Anton Arapov c2a608
 	char addrstr[KENV_MVALLEN + 1];
Anton Arapov c2a608
 #endif
Anton Arapov c2a608
+	const char *eptype;
Anton Arapov c2a608
 	int ret;
Anton Arapov c2a608
 
Anton Arapov c2a608
 	*address = 0; /* Prevent compiler warning */
Anton Arapov c2a608
@@ -4970,9 +4971,7 @@ static int address_from_efi(off_t *address)
Anton Arapov c2a608
 		 || strcmp(linebuf, "SMBIOS") == 0)
Anton Arapov c2a608
 		{
Anton Arapov c2a608
 			*address = strtoull(addrp, NULL, 0);
Anton Arapov c2a608
-			if (!(opt.flags & FLAG_QUIET))
Anton Arapov c2a608
-				printf("# %s entry point at 0x%08llx\n",
Anton Arapov c2a608
-				       linebuf, (unsigned long long)*address);
Anton Arapov c2a608
+			eptype = linebuf;
Anton Arapov c2a608
 			ret = 0;
Anton Arapov c2a608
 			break;
Anton Arapov c2a608
 		}
Anton Arapov c2a608
@@ -4997,14 +4996,16 @@ static int address_from_efi(off_t *address)
Anton Arapov c2a608
 	}
Anton Arapov c2a608
 
Anton Arapov c2a608
 	*address = strtoull(addrstr, NULL, 0);
Anton Arapov c2a608
-	if (!(opt.flags & FLAG_QUIET))
Anton Arapov c2a608
-		printf("# SMBIOS entry point at 0x%08llx\n",
Anton Arapov c2a608
-		    (unsigned long long)*address);
Anton Arapov c2a608
-
Anton Arapov c2a608
+	eptype = "SMBIOS";
Anton Arapov c2a608
 	ret = 0;
Anton Arapov c2a608
 #else
Anton Arapov c2a608
 	ret = EFI_NOT_FOUND;
Anton Arapov c2a608
 #endif
Anton Arapov c2a608
+
Anton Arapov c2a608
+	if (ret == 0 && !(opt.flags & FLAG_QUIET))
Anton Arapov c2a608
+		printf("# %s entry point at 0x%08llx\n",
Anton Arapov c2a608
+		       eptype, (unsigned long long)*address);
Anton Arapov c2a608
+
Anton Arapov c2a608
 	return ret;
Anton Arapov c2a608
 }
Anton Arapov c2a608
 
Anton Arapov c2a608
-- 
Anton Arapov c2a608
2.17.1
Anton Arapov c2a608