The output of "dh <handle>" originally is like below: 12C: USBIO DevicePath(x0)/Pci(0x14,0x0)/USB(0x6,0x0))
The device path part is very confusing. Use ".." in front of the partially displayed device path is better and it also aligns to the example output in Shell spec. 12C: USBIO DevicePath(..)/Pci(0x14,0x0)/USB(0x6,0x0)) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <[email protected]> Cc: Jiewen Yao <[email protected]> Cc: Jaben Carsey <[email protected]> --- ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c index a81d1f2..4081991 100644 --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c @@ -753,6 +753,7 @@ DevicePathProtocolDumpInformation( CHAR16 *Temp; CHAR16 *Temp2; EFI_STATUS Status; + UINTN Size; Temp = NULL; Status = gBS->OpenProtocol(TheHandle, &gEfiDevicePathProtocolGuid, (VOID**)&DevPath, gImageHandle, NULL, EFI_OPEN_PROTOCOL_GET_PROTOCOL); @@ -765,7 +766,9 @@ DevicePathProtocolDumpInformation( } if (!Verbose && Temp != NULL && StrLen(Temp) > 30) { Temp2 = NULL; - Temp2 = StrnCatGrow(&Temp2, NULL, Temp+(StrLen(Temp) - 30), 30); + Size = 0; + Temp2 = StrnCatGrow(&Temp2, &Size, L"..", 0); + Temp2 = StrnCatGrow(&Temp2, &Size, Temp+(StrLen(Temp) - 28), 0); FreePool(Temp); Temp = Temp2; } -- 2.8.3.windows.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

