mirror of https://github.com/acidanthera/audk.git
ShellPkg/HandleParsingLib: Return NULL name for unknown GUID
GetStringNameFromGuid() returns NULL for unknown GUID, instead of returning "UnknownDevice". The behavior change matches ShellProtocol.GetGuidName(). Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
This commit is contained in:
parent
d4ec9a5725
commit
0e88348e4b
|
@ -933,25 +933,22 @@ AdapterInformationDumpInformation (
|
|||
} else {
|
||||
|
||||
GuidStr = GetStringNameFromGuid (&InfoTypesBuffer[GuidIndex], NULL);
|
||||
if (GuidStr == NULL) {
|
||||
TempRetVal = CatSPrint (RetVal, TempStr, L"UnknownInfoType");
|
||||
SHELL_FREE_NON_NULL (RetVal);
|
||||
RetVal = TempRetVal;
|
||||
|
||||
if (GuidStr != NULL) {
|
||||
if (StrCmp(GuidStr, L"UnknownDevice") == 0) {
|
||||
TempRetVal = CatSPrint (RetVal, TempStr, L"UnknownInfoType");
|
||||
SHELL_FREE_NON_NULL (RetVal);
|
||||
RetVal = TempRetVal;
|
||||
|
||||
SHELL_FREE_NON_NULL (TempStr);
|
||||
SHELL_FREE_NON_NULL(GuidStr);
|
||||
//
|
||||
// So that we never have to pass this UnknownInfoType to the parsing function "GetInformation" service of AIP
|
||||
//
|
||||
continue;
|
||||
} else {
|
||||
TempRetVal = CatSPrint (RetVal, TempStr, GuidStr);
|
||||
SHELL_FREE_NON_NULL (RetVal);
|
||||
RetVal = TempRetVal;
|
||||
SHELL_FREE_NON_NULL(GuidStr);
|
||||
}
|
||||
SHELL_FREE_NON_NULL (TempStr);
|
||||
SHELL_FREE_NON_NULL(GuidStr);
|
||||
//
|
||||
// So that we never have to pass this UnknownInfoType to the parsing function "GetInformation" service of AIP
|
||||
//
|
||||
continue;
|
||||
} else {
|
||||
TempRetVal = CatSPrint (RetVal, TempStr, GuidStr);
|
||||
SHELL_FREE_NON_NULL (RetVal);
|
||||
RetVal = TempRetVal;
|
||||
SHELL_FREE_NON_NULL(GuidStr);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1500,7 +1497,7 @@ STATIC CONST GUID_INFO_BLOCK mGuidStringListNT[] = {
|
|||
{STRING_TOKEN(STR_WINNT_THUNK), (EFI_GUID*)&WinNtThunkProtocolGuid, NULL},
|
||||
{STRING_TOKEN(STR_WINNT_DRIVER_IO), (EFI_GUID*)&WinNtIoProtocolGuid, NULL},
|
||||
{STRING_TOKEN(STR_WINNT_SERIAL_PORT), (EFI_GUID*)&WinNtSerialPortGuid, NULL},
|
||||
{STRING_TOKEN(STR_UNKNOWN_DEVICE), NULL, NULL},
|
||||
{0, NULL, NULL},
|
||||
};
|
||||
|
||||
STATIC CONST GUID_INFO_BLOCK mGuidStringList[] = {
|
||||
|
@ -1816,7 +1813,7 @@ STATIC CONST GUID_INFO_BLOCK mGuidStringList[] = {
|
|||
//
|
||||
// terminator
|
||||
//
|
||||
{STRING_TOKEN(STR_UNKNOWN_DEVICE), NULL, NULL},
|
||||
{0, NULL, NULL},
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -1964,7 +1961,10 @@ GetStringNameFromGuid(
|
|||
HandleParsingHiiInit();
|
||||
|
||||
Id = InternalShellGetNodeFromGuid(Guid);
|
||||
return (HiiGetString(mHandleParsingHiiHandle, Id==NULL?STRING_TOKEN(STR_UNKNOWN_DEVICE):Id->StringId, Lang));
|
||||
if (Id == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
return HiiGetString (mHandleParsingHiiHandle, Id->StringId, Lang);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// /**
|
||||
//
|
||||
// Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved. <BR>
|
||||
// Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved. <BR>
|
||||
// (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P.<BR>
|
||||
// (C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<BR>
|
||||
// This program and the accompanying materials
|
||||
|
@ -159,8 +159,6 @@
|
|||
#string STR_WINNT_DRIVER_IO #language en-US "WinNTDriverIO"
|
||||
#string STR_WINNT_SERIAL_PORT #language en-US "WinNTSerialPort"
|
||||
|
||||
#string STR_UNKNOWN_DEVICE #language en-US "UnknownDevice"
|
||||
|
||||
// deprecated protocols
|
||||
#string STR_SHELL_INTERFACE #language en-US "ShellInterface"
|
||||
#string STR_SHELL_ENV #language en-US "ShellEnvironment"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
Main file for Dh shell Driver1 function.
|
||||
|
||||
(C) Copyright 2014-2015 Hewlett-Packard Development Company, L.P.<BR>
|
||||
Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -153,6 +153,7 @@ GetProtocolInfoString(
|
|||
CHAR16 *RetVal;
|
||||
UINTN Size;
|
||||
CHAR16 *Temp;
|
||||
CHAR16 GuidStr[40];
|
||||
|
||||
ProtocolGuidArray = NULL;
|
||||
RetVal = NULL;
|
||||
|
@ -166,16 +167,19 @@ GetProtocolInfoString(
|
|||
if (!EFI_ERROR (Status)) {
|
||||
for (ProtocolIndex = 0; ProtocolIndex < ArrayCount; ProtocolIndex++) {
|
||||
Temp = GetStringNameFromGuid(ProtocolGuidArray[ProtocolIndex], Language);
|
||||
if (Temp != NULL) {
|
||||
ASSERT((RetVal == NULL && Size == 0) || (RetVal != NULL));
|
||||
if (Size != 0) {
|
||||
StrnCatGrow(&RetVal, &Size, Separator, 0);
|
||||
}
|
||||
StrnCatGrow(&RetVal, &Size, L"%H", 0);
|
||||
ASSERT((RetVal == NULL && Size == 0) || (RetVal != NULL));
|
||||
if (Size != 0) {
|
||||
StrnCatGrow(&RetVal, &Size, Separator, 0);
|
||||
}
|
||||
StrnCatGrow(&RetVal, &Size, L"%H", 0);
|
||||
if (Temp == NULL) {
|
||||
UnicodeSPrint (GuidStr, sizeof (GuidStr), L"%g", ProtocolGuidArray[ProtocolIndex]);
|
||||
StrnCatGrow (&RetVal, &Size, GuidStr, 0);
|
||||
} else {
|
||||
StrnCatGrow(&RetVal, &Size, Temp, 0);
|
||||
StrnCatGrow(&RetVal, &Size, L"%N", 0);
|
||||
FreePool(Temp);
|
||||
}
|
||||
StrnCatGrow(&RetVal, &Size, L"%N", 0);
|
||||
if (ExtraInfo) {
|
||||
Temp = GetProtocolInformationDump(TheHandle, ProtocolGuidArray[ProtocolIndex], Verbose);
|
||||
if (Temp != NULL) {
|
||||
|
|
Loading…
Reference in New Issue