Hi,
When configuring my new system, and writing the smbios.plist file to fit my hardware, I got stucked with the SMmem** keys.
First of all, I find out reading the source code, that for bank specific options, the syntax "SMxxx_1" is not anymore used. As far as I saw in the source code, we have to write - for example - SMmempart0 for the first module part number, and not SMmempart_1.
Now, back to the main topic. I think there is a small "nested if-then-else" bug in the 'getSMBValueForKey' function. The original one looked like this:
if (value)
if (getIntForKey(key, (int *)&(value->dword), SMBPlist))
return true;
else
if (getValueForKey(key, string, &len, SMBPlist))
return true;
Regarding the indentation, you need brackets, to have something like that
if (value)
{
if (getIntForKey(key, (int *)&(value->dword), SMBPlist))
return true;
}
else
{
if (getValueForKey(key, string, &len, SMBPlist))
return true;
}
I have added a small patch file that can be applied against r2035 in the trunk.