{␊ |
␉const char *string = 0;␊ |
␉int len;␊ |
␉bool parsed;␊ |
␉int val;␊ |
␊ |
␉if (numOfSetters <= idx)␊ |
␉␉return false;␊ |
|
␉␉//case kSMBQWord:␊ |
␉␉␉if (SMBSetters[idx].keyString)␊ |
␉␉␉{␊ |
␉␉␉␉if (getIntForKey(SMBSetters[idx].keyString, (int *)&(value->dword), SMBPlist))␊ |
␉␉␉␉parsed = getIntForKey(SMBSetters[idx].keyString, &val, SMBPlist);␊ |
␉␉␉␉if (!parsed)␊ |
␉␉␉␉␉if (structPtr->orig->type == kSMBTypeMemoryDevice)␉// MemoryDevice only␊ |
␉␉␉␉␉␉parsed = getSMBValueForKey(structPtr->orig, SMBSetters[idx].keyString, NULL, (returnType *)&val);␊ |
␉␉␉␉if (parsed)␊ |
␉␉␉␉{␊ |
␉␉␉␉␉switch (SMBSetters[idx].valueType)␊ |
␉␉␉␉␉{␊ |
␉␉␉␉␉␉case kSMBByte:␊ |
␉␉␉␉␉␉␉value->byte = (uint8_t)val;␊ |
␉␉␉␉␉␉␉break;␊ |
␉␉␉␉␉␉case kSMBWord:␊ |
␉␉␉␉␉␉␉value->byte = (uint16_t)val;␊ |
␉␉␉␉␉␉␉break;␊ |
␉␉␉␉␉␉case kSMBDWord:␊ |
␉␉␉␉␉␉default:␊ |
␉␉␉␉␉␉␉value->byte = (uint32_t)val;␊ |
␉␉␉␉␉␉␉break;␊ |
␉␉␉␉␉}␊ |
␉␉␉␉␉return true;␊ |
␉␉␉␉else␊ |
␉␉␉␉␉if (structPtr->orig->type == kSMBTypeMemoryDevice)␉// MemoryDevice only␊ |
␉␉␉␉␉␉if (getSMBValueForKey(structPtr->orig, SMBSetters[idx].keyString, NULL, value))␊ |
␉␉␉␉␉␉␉return true;␊ |
␉␉␉␉}␊ |
␉␉␉}␊ |
␊ |
␉␉␉if (SMBSetters[idx].getSMBValue)␊ |
␉␉␉␉if (SMBSetters[idx].getSMBValue(value))␊ |
␉␉␉␉␉return true;␊ |