mirror of https://github.com/acidanthera/audk.git
Update the HiiConfigToBlock to follow spec.
Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13983 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
73b5f8bcee
commit
edae8d2dbd
|
@ -3919,18 +3919,14 @@ HiiConfigToBlock (
|
||||||
Status = EFI_INVALID_PARAMETER;
|
Status = EFI_INVALID_PARAMETER;
|
||||||
goto Exit;
|
goto Exit;
|
||||||
}
|
}
|
||||||
//
|
|
||||||
// Skip '&'
|
|
||||||
//
|
|
||||||
StringPtr++;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Parse each <ConfigElement> if exists
|
// Parse each <ConfigElement> if exists
|
||||||
// Only <BlockConfig> format is supported by this help function.
|
// Only '&'<BlockConfig> format is supported by this help function.
|
||||||
// <BlockConfig> ::= 'OFFSET='<Number>&'WIDTH='<Number>&'VALUE='<Number>
|
// <BlockConfig> ::= 'OFFSET='<Number>&'WIDTH='<Number>&'VALUE='<Number>
|
||||||
//
|
//
|
||||||
while (*StringPtr != 0 && StrnCmp (StringPtr, L"OFFSET=", StrLen (L"OFFSET=")) == 0) {
|
while (*StringPtr != 0 && StrnCmp (StringPtr, L"&OFFSET=", StrLen (L"&OFFSET=")) == 0) {
|
||||||
StringPtr += StrLen (L"OFFSET=");
|
StringPtr += StrLen (L"&OFFSET=");
|
||||||
//
|
//
|
||||||
// Get Offset
|
// Get Offset
|
||||||
//
|
//
|
||||||
|
@ -3949,7 +3945,7 @@ HiiConfigToBlock (
|
||||||
|
|
||||||
StringPtr += Length;
|
StringPtr += Length;
|
||||||
if (StrnCmp (StringPtr, L"&WIDTH=", StrLen (L"&WIDTH=")) != 0) {
|
if (StrnCmp (StringPtr, L"&WIDTH=", StrLen (L"&WIDTH=")) != 0) {
|
||||||
*Progress = StringPtr - Length - StrLen (L"OFFSET=") - 1;
|
*Progress = StringPtr - Length - StrLen (L"&OFFSET=");
|
||||||
Status = EFI_INVALID_PARAMETER;
|
Status = EFI_INVALID_PARAMETER;
|
||||||
goto Exit;
|
goto Exit;
|
||||||
}
|
}
|
||||||
|
@ -3990,7 +3986,7 @@ HiiConfigToBlock (
|
||||||
|
|
||||||
StringPtr += Length;
|
StringPtr += Length;
|
||||||
if (*StringPtr != 0 && *StringPtr != L'&') {
|
if (*StringPtr != 0 && *StringPtr != L'&') {
|
||||||
*Progress = StringPtr - Length - 7;
|
*Progress = StringPtr - Length - StrLen (L"&VALUE=");
|
||||||
Status = EFI_INVALID_PARAMETER;
|
Status = EFI_INVALID_PARAMETER;
|
||||||
goto Exit;
|
goto Exit;
|
||||||
}
|
}
|
||||||
|
@ -4009,20 +4005,18 @@ HiiConfigToBlock (
|
||||||
Value = NULL;
|
Value = NULL;
|
||||||
|
|
||||||
//
|
//
|
||||||
// If '\0', parsing is finished. Otherwise skip '&' to continue
|
// If '\0', parsing is finished.
|
||||||
//
|
//
|
||||||
if (*StringPtr == 0) {
|
if (*StringPtr == 0) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
StringPtr++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// The input string is ConfigAltResp format.
|
// The input string is not ConfigResp format, return error.
|
||||||
//
|
//
|
||||||
if ((*StringPtr != 0) && (StrnCmp (StringPtr, L"&GUID=", StrLen (L"&GUID=")) != 0)) {
|
if (*StringPtr != 0) {
|
||||||
*Progress = StringPtr - 1;
|
*Progress = StringPtr;
|
||||||
Status = EFI_INVALID_PARAMETER;
|
Status = EFI_INVALID_PARAMETER;
|
||||||
goto Exit;
|
goto Exit;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3513,7 +3513,7 @@ LoadStorage (
|
||||||
//
|
//
|
||||||
// Convert Result from <ConfigAltResp> to <ConfigResp>
|
// Convert Result from <ConfigAltResp> to <ConfigResp>
|
||||||
//
|
//
|
||||||
StrPtr = StrStr (Result, L"ALTCFG");
|
StrPtr = StrStr (Result, L"&GUID=");
|
||||||
if (StrPtr != NULL) {
|
if (StrPtr != NULL) {
|
||||||
*StrPtr = L'\0';
|
*StrPtr = L'\0';
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue