Blob Blame History Raw
From 1347ccca96db6e157af39fcc565466fa98b9220b Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Mon, 23 Mar 2020 16:47:27 +0100
Subject: [PATCH 03/23] dmidecode: Simplify the formatting of memory error
 status

Make the logic more simple so that we always report the status on a
single line.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
---
 dmidecode.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/dmidecode.c b/dmidecode.c
index ef9bbd54b7f8..5a0631e926c7 100644
--- a/dmidecode.c
+++ b/dmidecode.c
@@ -1515,18 +1515,19 @@ static void dmi_memory_module_size(u8 code)
 		printf(" (Single-bank Connection)");
 }
 
-static void dmi_memory_module_error(u8 code, const char *prefix)
+static void dmi_memory_module_error(u8 code)
 {
+	static const char *status[] = {
+		"OK", /* 0x00 */
+		"Uncorrectable Errors",
+		"Correctable Errors",
+		"Correctable and Uncorrectable Errors" /* 0x03 */
+	};
+
 	if (code & (1 << 2))
 		printf(" See Event Log\n");
 	else
-	{	if ((code & 0x03) == 0)
-			printf(" OK\n");
-		if (code & (1 << 0))
-			printf("%sUncorrectable Errors\n", prefix);
-		if (code & (1 << 1))
-			printf("%sCorrectable Errors\n", prefix);
-	}
+		printf(" %s\n", status[code & 0x03]);
 }
 
 /*
@@ -4142,7 +4143,7 @@ static void dmi_decode(const struct dmi_header *h, u16 ver)
 			dmi_memory_module_size(data[0x0A]);
 			printf("\n");
 			printf("\tError Status:");
-			dmi_memory_module_error(data[0x0B], "\t\t");
+			dmi_memory_module_error(data[0x0B]);
 			break;
 
 		case 7: /* 7.8 Cache Information */
-- 
2.17.1