}\r
\r
PcdDb = IsPeiDb ? ((UINT8 *) &mPcdDatabase->PeiDb) : ((UINT8 *) &mPcdDatabase->DxeDb);\r
- StringTable = IsPeiDb ? mPcdDatabase->PeiDb.Init.StringTable :\r
- mPcdDatabase->DxeDb.Init.StringTable;\r
+ StringTable = (UINT16 *) (IsPeiDb ? &mPcdDatabase->PeiDb.Init.StringTable[0] :\r
+ &mPcdDatabase->DxeDb.Init.StringTable[0]);\r
\r
Offset = LocalTokenNumber & PCD_DATABASE_OFFSET_MASK;\r
\r
break;\r
\r
case PCD_TYPE_HII:\r
- GuidTable = IsPeiDb ? mPcdDatabase->PeiDb.Init.GuidTable :\r
- mPcdDatabase->DxeDb.Init.GuidTable;\r
+ GuidTable = (EFI_GUID *) (IsPeiDb ? &mPcdDatabase->PeiDb.Init.GuidTable[0] :\r
+ &mPcdDatabase->DxeDb.Init.GuidTable[0]);\r
\r
VariableHead = (VARIABLE_HEAD *) (PcdDb + Offset);\r
\r
- Guid = &(GuidTable[VariableHead->GuidTableIndex]);\r
- Name = &(StringTable[VariableHead->StringIndex]);\r
+ Guid = GuidTable + VariableHead->GuidTableIndex;\r
+ Name = StringTable + VariableHead->StringIndex;\r
VaraiableDefaultBuffer = (UINT8 *) PcdDb + VariableHead->DefaultValueOffset;\r
\r
Status = GetHiiVariable (Guid, Name, &Data, &DataSize);\r
\r
case PCD_TYPE_STRING:\r
StringTableIdx = (UINT16) *((UINT8 *) PcdDb + Offset);\r
- RetPtr = (VOID *) &StringTable[StringTableIdx];\r
+ RetPtr = (VOID *) (StringTable + StringTableIdx);\r
break;\r
\r
case PCD_TYPE_DATA:\r
\r
PcdDb = IsPeiDb ? ((UINT8 *) &mPcdDatabase->PeiDb) : ((UINT8 *) &mPcdDatabase->DxeDb);\r
\r
- StringTable = IsPeiDb ? mPcdDatabase->PeiDb.Init.StringTable :\r
- mPcdDatabase->DxeDb.Init.StringTable;\r
+ StringTable = (UINT16 *) (IsPeiDb ? &mPcdDatabase->PeiDb.Init.StringTable[0] :\r
+ &mPcdDatabase->DxeDb.Init.StringTable[0]);\r
\r
InternalData = PcdDb + Offset;\r
\r
\r
case PCD_TYPE_STRING:\r
if (SetPtrTypeSize (TmpTokenNumber, Size)) {\r
- CopyMem (&StringTable[*((UINT16 *)InternalData)], Data, *Size);\r
+ CopyMem (StringTable + *((UINT16 *)InternalData), Data, *Size);\r
Status = EFI_SUCCESS;\r
} else {\r
Status = EFI_INVALID_PARAMETER;\r
}\r
}\r
\r
- GuidTable = IsPeiDb ? mPcdDatabase->PeiDb.Init.GuidTable :\r
- mPcdDatabase->DxeDb.Init.GuidTable;\r
+ GuidTable = (EFI_GUID *) (IsPeiDb ? &mPcdDatabase->PeiDb.Init.GuidTable[0] :\r
+ &mPcdDatabase->DxeDb.Init.GuidTable[0]);\r
\r
VariableHead = (VARIABLE_HEAD *) (PcdDb + Offset);\r
\r
- Guid = &(GuidTable[VariableHead->GuidTableIndex]);\r
- Name = &(StringTable[VariableHead->StringIndex]);\r
+ Guid = GuidTable + VariableHead->GuidTableIndex;\r
+ Name = StringTable + VariableHead->StringIndex;\r
VariableOffset = VariableHead->Offset;\r
\r
Status = SetHiiVariable (Guid, Name, Data, *Size, VariableOffset);\r