From nobody Sat Nov 2 16:36:02 2024 Delivered-To: importer@patchew.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Authentication-Results: mx.zoho.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org; Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1488180178179413.13853080241734; Sun, 26 Feb 2017 23:22:58 -0800 (PST) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 753EE81F45; Sun, 26 Feb 2017 23:22:51 -0800 (PST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 7A2F482123 for ; Sun, 26 Feb 2017 23:22:48 -0800 (PST) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga105.jf.intel.com with ESMTP; 26 Feb 2017 23:22:48 -0800 Received: from ray-dev.ccr.corp.intel.com ([10.239.9.25]) by fmsmga005.fm.intel.com with ESMTP; 26 Feb 2017 23:22:47 -0800 X-Original-To: edk2-devel@lists.01.org X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,213,1484035200"; d="scan'208";a="69934243" From: Ruiyu Ni To: edk2-devel@lists.01.org Date: Mon, 27 Feb 2017 15:22:35 +0800 Message-Id: <20170227072239.273228-8-ruiyu.ni@intel.com> X-Mailer: git-send-email 2.9.0.windows.1 In-Reply-To: <20170227072239.273228-1-ruiyu.ni@intel.com> References: <20170227072239.273228-1-ruiyu.ni@intel.com> Subject: [edk2] [PATCH v2 07/11] MdeModulePkg/CapsuleApp: Use StrToGuid in BaseLib X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jiewen Yao MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni Cc: Jiewen Yao Reviewed-by: jiewen.yao@intel.com --- MdeModulePkg/Application/CapsuleApp/AppSupport.c | 140 +------------------= ---- MdeModulePkg/Application/CapsuleApp/CapsuleApp.c | 27 +---- 2 files changed, 6 insertions(+), 161 deletions(-) diff --git a/MdeModulePkg/Application/CapsuleApp/AppSupport.c b/MdeModulePk= g/Application/CapsuleApp/AppSupport.c index edc5f29..e39ab20 100644 --- a/MdeModulePkg/Application/CapsuleApp/AppSupport.c +++ b/MdeModulePkg/Application/CapsuleApp/AppSupport.c @@ -1,7 +1,7 @@ /** @file A shell application that triggers capsule update process. =20 - Copyright (c) 2016, Intel Corporation. All rights reserved.
+ Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BS= D License which accompanies this distribution. The full text of the license may b= e found at @@ -64,144 +64,6 @@ GetArg ( } =20 /** - Converts a list of string to a specified buffer. - - @param[out] Buf The output buffer that contains the string. - @param[in] BufferLength The length of the buffer - @param[in] Str The input string that contains the hex number - - @retval EFI_SUCCESS The string was successfully converted to the buff= er. - -**/ -EFI_STATUS -InternalStrToBuf ( - OUT UINT8 *Buf, - IN UINTN BufferLength, - IN CHAR16 *Str - ) -{ - UINTN Index; - UINTN StrLength; - UINT8 Digit; - UINT8 Byte; - - Digit =3D 0; - - // - // Two hex char make up one byte - // - StrLength =3D BufferLength * sizeof (CHAR16); - - for(Index =3D 0; Index < StrLength; Index++, Str++) { - - if ((*Str >=3D L'a') && (*Str <=3D L'f')) { - Digit =3D (UINT8) (*Str - L'a' + 0x0A); - } else if ((*Str >=3D L'A') && (*Str <=3D L'F')) { - Digit =3D (UINT8) (*Str - L'A' + 0x0A); - } else if ((*Str >=3D L'0') && (*Str <=3D L'9')) { - Digit =3D (UINT8) (*Str - L'0'); - } else { - return EFI_INVALID_PARAMETER; - } - - // - // For odd characters, write the upper nibble for each buffer byte, - // and for even characters, the lower nibble. - // - if ((Index & 1) =3D=3D 0) { - Byte =3D (UINT8) (Digit << 4); - } else { - Byte =3D Buf[Index / 2]; - Byte &=3D 0xF0; - Byte =3D (UINT8) (Byte | Digit); - } - - Buf[Index / 2] =3D Byte; - } - - return EFI_SUCCESS; -} - -/** - Converts a string to GUID value. - Guid Format is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - - @param[in] Str The registry format GUID string that contai= ns the GUID value. - @param[out] Guid A pointer to the converted GUID value. - - @retval EFI_SUCCESS The GUID string was successfully converted to th= e GUID value. - @retval EFI_UNSUPPORTED The input string is not in registry format. - @return others Some error occurred when converting part of GUID= value. - -**/ -EFI_STATUS -InternalStrToGuid ( - IN CHAR16 *Str, - OUT EFI_GUID *Guid - ) -{ - // - // Get the first UINT32 data - // - Guid->Data1 =3D (UINT32) StrHexToUint64 (Str); - while (!IS_HYPHEN (*Str) && !IS_NULL (*Str)) { - Str ++; - } - - if (IS_HYPHEN (*Str)) { - Str++; - } else { - return EFI_UNSUPPORTED; - } - - // - // Get the second UINT16 data - // - Guid->Data2 =3D (UINT16) StrHexToUint64 (Str); - while (!IS_HYPHEN (*Str) && !IS_NULL (*Str)) { - Str ++; - } - - if (IS_HYPHEN (*Str)) { - Str++; - } else { - return EFI_UNSUPPORTED; - } - - // - // Get the third UINT16 data - // - Guid->Data3 =3D (UINT16) StrHexToUint64 (Str); - while (!IS_HYPHEN (*Str) && !IS_NULL (*Str)) { - Str ++; - } - - if (IS_HYPHEN (*Str)) { - Str++; - } else { - return EFI_UNSUPPORTED; - } - - // - // Get the following 8 bytes data - // - InternalStrToBuf (&Guid->Data4[0], 2, Str); - // - // Skip 2 byte hex chars - // - Str +=3D 2 * 2; - - if (IS_HYPHEN (*Str)) { - Str++; - } else { - return EFI_UNSUPPORTED; - } - InternalStrToBuf (&Guid->Data4[2], 6, Str); - - return EFI_SUCCESS; -} - -/** Return File System Volume containing this shell application. =20 @return File System Volume containing this shell application. diff --git a/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c b/MdeModulePk= g/Application/CapsuleApp/CapsuleApp.c index 5b8c147..84ed4d7 100644 --- a/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c +++ b/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c @@ -1,7 +1,7 @@ /** @file A shell application that triggers capsule update process. =20 - Copyright (c) 2016, Intel Corporation. All rights reserved.
+ Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BS= D License which accompanies this distribution. The full text of the license may b= e found at @@ -143,24 +143,6 @@ WriteFileFromBuffer ( ); =20 /** - Converts a string to GUID value. - Guid Format is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - - @param[in] Str The registry format GUID string that contai= ns the GUID value. - @param[out] Guid A pointer to the converted GUID value. - - @retval EFI_SUCCESS The GUID string was successfully converted to th= e GUID value. - @retval EFI_UNSUPPORTED The input string is not in registry format. - @return others Some error occurred when converting part of GUID= value. - -**/ -EFI_STATUS -InternalStrToGuid ( - IN CHAR16 *Str, - OUT EFI_GUID *Guid - ); - -/** =20 This function parse application ARG. =20 @@ -731,6 +713,7 @@ UefiMain ( ) { EFI_STATUS Status; + RETURN_STATUS RStatus; UINTN FileSize[MAX_CAPSULE_NUM]; VOID *CapsuleBuffer[MAX_CAPSULE_NUM]; EFI_CAPSULE_BLOCK_DESCRIPTOR *BlockDescriptors; @@ -782,10 +765,10 @@ UefiMain ( // // FMP->GetImage() // - Status =3D InternalStrToGuid(Argv[3], &ImageTypeId); - if (EFI_ERROR(Status)) { + RStatus =3D StrToGuid (Argv[3], &ImageTypeId); + if (RETURN_ERROR (RStatus) || (Argv[3][GUID_STRING_LENGTH] !=3D L'= \0')) { Print (L"Invalid ImageTypeId - %s\n", Argv[3]); - return Status; + return EFI_INVALID_PARAMETER; } ImageIndex =3D StrDecimalToUintn(Argv[4]); if (StrCmp(Argv[5], L"-O") =3D=3D 0) { --=20 2.9.0.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel