Hi Mars,

I cannot extract the patch. I don’t what cause this issue. Can you share your 
branch?

Back to the patch. Please remove the ‘*’ in the titile.

Don’t define the Index2 in a block scope, it should be defined at the begin of 
the function. Refer to CCS spec 2.2.1 Section 5.4.1.1:
Block scope: such type of declaration is strongly discouraged.

Thanks,
Zhichao

From: Mars CC Lin <mars_cc_...@phoenix.com>
Sent: Thursday, January 21, 2021 10:45 AM
To: devel@edk2.groups.io
Cc: Philippe Mathieu-Daudé <phi...@redhat.com>; Ni, Ray <ray...@intel.com>; 
Gao, Zhichao <zhichao....@intel.com>
Subject: [PATCH] * ShellPkg: add the support to show Contained Element Count, 
Contained Element Record Length and Contained Elements

Cc: Philippe Mathieu-Daudé <phi...@redhat.com<mailto:phi...@redhat.com>>
Cc: Ray Ni <ray...@intel.com<mailto:ray...@intel.com>>
Cc: Zhichao Gao <zhichao....@intel.com<mailto:zhichao....@intel.com>>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3177
Signed-off-by: Mars CC Lin 
<mars_cc_...@phoenix.com<mailto:mars_cc_...@phoenix.com>>
---
.../SmbiosView/PrintInfo.c | 16 ++++++++++++++++
.../SmbiosView/SmbiosViewStrings.uni | 1 +
2 files changed, 17 insertions(+)

diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c 
b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
index a3dc7b68c4..36c743d45b 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
@@ -404,6 +404,22 @@ SmbiosPrintStructure (
if (Struct->Hdr->Length > 0x12) {

PRINT_STRUCT_VALUE (Struct, Type3, NumberofPowerCords);

}

+ if (Struct->Hdr->Length > 0x13) {

+ PRINT_STRUCT_VALUE (Struct, Type3, ContainedElementCount);

+ }

+ if (Struct->Hdr->Length > 0x14) {

+ PRINT_STRUCT_VALUE (Struct, Type3, ContainedElementRecordLength);

+ }

+ for (Index = 0;Index < Struct->Type3->ContainedElementCount;Index++) {

+ UINT8 Index2 = 0;

+

+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN 
(STR_SMBIOSVIEW_PRINTINFO_CONTAINED_ELEMENT), gShellDebug1HiiHandle, Index+1);

+ for (Index2 = 0;Index2<Struct->Type3->ContainedElementRecordLength;Index2++) {

+ Print (L"%02X ", Buffer[0x15 + (Index * 
Struct->Type3->ContainedElementRecordLength) + Index2]);

+ }

+ Print (L"\n");

+ }

+

}

if (AE_SMBIOS_VERSION (0x2, 0x7) && (Struct->Hdr->Length > 0x13)) {

if (Struct->Hdr->Length > (0x15 + (Struct->Type3->ContainedElementCount * 
Struct->Type3->ContainedElementRecordLength))) {

diff --git 
a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni 
b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni
index 8bcba7ccf7..9433e8a25f 100644
--- 
a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni
+++ 
b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni
@@ -93,6 +93,7 @@
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_STATE #language en-US "Power 
Supply State "

#string STR_SMBIOSVIEW_PRINTINFO_THERMAL_STATE #language en-US "Thermal state "

#string STR_SMBIOSVIEW_PRINTINFO_SECURITY_STATUS #language en-US "Security 
Status "

+#string STR_SMBIOSVIEW_PRINTINFO_CONTAINED_ELEMENT #language en-US "Contained 
Element %d: "

#string STR_SMBIOSVIEW_PRINTINFO_SUPOPRT #language en-US "Support "

#string STR_SMBIOSVIEW_PRINTINFO_CURRENT #language en-US "Current "

#string STR_SMBIOSVIEW_PRINTINFO_INSTALLED #language en-US "Installed "

--
2.29.1.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#70948): https://edk2.groups.io/g/devel/message/70948
Mute This Topic: https://groups.io/mt/80003667/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to