From: Eric Dong Date: Fri, 23 Aug 2013 05:53:04 +0000 (+0000) Subject: Update comments for HiiConfigRoutine->ExtractConfig function, also update HiiConfigRo... X-Git-Tag: edk2-stable201903~12313 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=46c3efbbcf9d3b7bb9192eb683586fac36c313a7 Update comments for HiiConfigRoutine->ExtractConfig function, also update HiiConfigRoutine->ConfigToBlock/BlockToConfig to follow this new spec. Signed-off-by: Eric Dong Reviewed-by: Liming Gao git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14593 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c index d6705d0247..4959d8302f 100644 --- a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c +++ b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c @@ -3448,8 +3448,10 @@ ConfigRequestValidate ( Progress parameter is set to NULL. @retval EFI_INVALID_PARAMETER Illegal syntax. Progress set to most recent & before the error or the beginning of the string. - @retval EFI_INVALID_PARAMETER Unknown name. Progress points to the & before the - name in question. + @retval EFI_INVALID_PARAMETER The ExtractConfig function of the underlying HII + Configuration Access Protocol returned + EFI_INVALID_PARAMETER. Progress set to most recent + & before the error or the beginning of the string. **/ EFI_STATUS @@ -4322,7 +4324,7 @@ HiiBlockToConfig ( // Status = GetValueOfNumber (StringPtr, &TmpBuffer, &Length); if (EFI_ERROR (Status)) { - *Progress = ConfigRequest; + *Progress = TmpPtr - 1; goto Exit; } Offset = 0; @@ -4335,7 +4337,7 @@ HiiBlockToConfig ( StringPtr += Length; if (StrnCmp (StringPtr, L"&WIDTH=", StrLen (L"&WIDTH=")) != 0) { - *Progress = StringPtr - Length - StrLen (L"OFFSET=") - 1; + *Progress = TmpPtr - 1; Status = EFI_INVALID_PARAMETER; goto Exit; } @@ -4346,7 +4348,7 @@ HiiBlockToConfig ( // Status = GetValueOfNumber (StringPtr, &TmpBuffer, &Length); if (EFI_ERROR (Status)) { - *Progress = ConfigRequest; + *Progress = TmpPtr - 1; goto Exit; } Width = 0; @@ -4359,7 +4361,7 @@ HiiBlockToConfig ( StringPtr += Length; if (*StringPtr != 0 && *StringPtr != L'&') { - *Progress = StringPtr - Length - StrLen (L"&WIDTH="); + *Progress = TmpPtr - 1; Status = EFI_INVALID_PARAMETER; goto Exit; } @@ -4523,6 +4525,7 @@ HiiConfigToBlock ( { HII_DATABASE_PRIVATE_DATA *Private; EFI_STRING StringPtr; + EFI_STRING TmpPtr; UINTN Length; EFI_STATUS Status; UINT8 *TmpBuffer; @@ -4581,13 +4584,14 @@ HiiConfigToBlock ( // ::= 'OFFSET='&'WIDTH='&'VALUE=' // while (*StringPtr != 0 && StrnCmp (StringPtr, L"&OFFSET=", StrLen (L"&OFFSET=")) == 0) { + TmpPtr = StringPtr; StringPtr += StrLen (L"&OFFSET="); // // Get Offset // Status = GetValueOfNumber (StringPtr, &TmpBuffer, &Length); if (EFI_ERROR (Status)) { - *Progress = ConfigResp; + *Progress = TmpPtr; goto Exit; } Offset = 0; @@ -4600,7 +4604,7 @@ HiiConfigToBlock ( StringPtr += Length; if (StrnCmp (StringPtr, L"&WIDTH=", StrLen (L"&WIDTH=")) != 0) { - *Progress = StringPtr - Length - StrLen (L"&OFFSET="); + *Progress = TmpPtr; Status = EFI_INVALID_PARAMETER; goto Exit; } @@ -4611,7 +4615,7 @@ HiiConfigToBlock ( // Status = GetValueOfNumber (StringPtr, &TmpBuffer, &Length); if (EFI_ERROR (Status)) { - *Progress = ConfigResp; + *Progress = TmpPtr; goto Exit; } Width = 0; @@ -4624,7 +4628,7 @@ HiiConfigToBlock ( StringPtr += Length; if (StrnCmp (StringPtr, L"&VALUE=", StrLen (L"&VALUE=")) != 0) { - *Progress = StringPtr - Length - StrLen (L"&WIDTH="); + *Progress = TmpPtr; Status = EFI_INVALID_PARAMETER; goto Exit; } @@ -4635,13 +4639,13 @@ HiiConfigToBlock ( // Status = GetValueOfNumber (StringPtr, &Value, &Length); if (EFI_ERROR (Status)) { - *Progress = ConfigResp; + *Progress = TmpPtr; goto Exit; } StringPtr += Length; if (*StringPtr != 0 && *StringPtr != L'&') { - *Progress = StringPtr - Length - StrLen (L"&VALUE="); + *Progress = TmpPtr; Status = EFI_INVALID_PARAMETER; goto Exit; } diff --git a/MdePkg/Include/Protocol/HiiConfigRouting.h b/MdePkg/Include/Protocol/HiiConfigRouting.h index 4423a5c04d..467a2dcc82 100644 --- a/MdePkg/Include/Protocol/HiiConfigRouting.h +++ b/MdePkg/Include/Protocol/HiiConfigRouting.h @@ -5,7 +5,7 @@ information from configuration applications, routing the results to the appropriate drivers. -Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at @@ -99,8 +99,13 @@ typedef struct _EFI_HII_CONFIG_ROUTING_PROTOCOL EFI_HII_CONFIG_ROUTING_PROTOCOL; to the most recent & before the error, or the beginning of the string. - @retval EFI_INVALID_PARAMETER Unknown name. - + @retval EFI_INVALID_PARAMETER The ExtractConfig function of the + underlying HII Configuration + Access Protocol returned + EFI_INVALID_PARAMETER. Progress + set to most recent & before the + error or the beginning of the + string. **/ typedef