From cf9881ddc3d3ade438559b2645dc8c1858c524a4 Mon Sep 17 00:00:00 2001 From: Peter Schiffer Date: Mon, 29 Jul 2013 16:56:02 +0200 Subject: Hardware: Fixed enumerating memory modules Enumerating memory modules didn't work properly when no empty slots were present in the system. --- src/hardware/dmidecode.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/hardware') diff --git a/src/hardware/dmidecode.c b/src/hardware/dmidecode.c index a4c1050..d246f8e 100644 --- a/src/hardware/dmidecode.c +++ b/src/hardware/dmidecode.c @@ -891,11 +891,10 @@ short dmi_get_memory(DmiMemory *memory) } if (strstr(buffer[i], "Size: ")) { if (strstr(buffer[i], "Size: No Module Installed")) { - last_mem = curr_mem; curr_mem = -1; continue; } else { - curr_mem = last_mem + 1; + curr_mem = ++last_mem; init_dmi_memory_module_struct(&memory->modules[curr_mem]); /* Module Size */ buf = copy_string_part_after_delim(buffer[i], "Size: "); @@ -926,6 +925,9 @@ short dmi_get_memory(DmiMemory *memory) total_width = 0; data_width = 0; + debug("Found %s at index %d", + memory->modules[curr_mem].name, curr_mem); + continue; } } -- cgit