summaryrefslogtreecommitdiffstats
path: root/ShellPkg
diff options
context:
space:
mode:
authorHuajing Li <huajing.li@intel.com>2017-08-07 15:51:43 +0800
committerRuiyu Ni <ruiyu.ni@intel.com>2017-08-10 12:29:35 +0800
commitd506d8db7168c2c12a9e7afe0bf9047d14ec4c54 (patch)
treec28ebbe3a3c43c32833686a5c396226c80f548cf /ShellPkg
parent416d48f755518fd1d202b97be2e9944df6e8f0d4 (diff)
downloadedk2-d506d8db7168c2c12a9e7afe0bf9047d14ec4c54.tar.gz
edk2-d506d8db7168c2c12a9e7afe0bf9047d14ec4c54.tar.bz2
edk2-d506d8db7168c2c12a9e7afe0bf9047d14ec4c54.zip
ShellPkg/driver: Show "-" in non-SFO mode
The patch shows "X"/"-" instead of "Y"/"N" in column "CFG" and "DIAG". The patch shows "-" instead of "0" in column "#D" and "#C". Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Huajing Li <huajing.li@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Diffstat (limited to 'ShellPkg')
-rw-r--r--ShellPkg/Library/UefiShellDriver1CommandsLib/Drivers.c49
-rw-r--r--ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.uni12
2 files changed, 41 insertions, 20 deletions
diff --git a/ShellPkg/Library/UefiShellDriver1CommandsLib/Drivers.c b/ShellPkg/Library/UefiShellDriver1CommandsLib/Drivers.c
index f3c1476872..4d876bb108 100644
--- a/ShellPkg/Library/UefiShellDriver1CommandsLib/Drivers.c
+++ b/ShellPkg/Library/UefiShellDriver1CommandsLib/Drivers.c
@@ -269,6 +269,8 @@ ShellCommandRunDrivers (
EFI_HANDLE *HandleWalker;
UINTN ChildCount;
UINTN DeviceCount;
+ CHAR16 ChildCountStr[3];
+ CHAR16 DeviceCountStr[3];
CHAR16 *Temp2;
CONST CHAR16 *FullDriverName;
CHAR16 *TruncatedDriverName;
@@ -363,26 +365,45 @@ ShellCommandRunDrivers (
FullDriverName = GetStringNameFromHandle(*HandleWalker, Language);
ImageName = GetImageNameFromHandle (*HandleWalker);
+ UnicodeValueToStringS (ChildCountStr, sizeof (ChildCountStr), 0, ChildCount, 0);
+ UnicodeValueToStringS (DeviceCountStr, sizeof (DeviceCountStr), 0, DeviceCount, 0);
TruncatedDriverName = NULL;
if (!SfoFlag && (FullDriverName != NULL)) {
TruncatedDriverName = AllocateZeroPool ((MAX_LEN_DRIVER_NAME + 1) * sizeof (CHAR16));
StrnCpyS (TruncatedDriverName, MAX_LEN_DRIVER_NAME + 1, FullDriverName, MAX_LEN_DRIVER_NAME);
}
- ShellPrintEx(
- -1,
- -1,
- FormatString,
- ConvertHandleToHandleIndex(*HandleWalker),
- DriverVersion,
- ChildCount > 0?L'B':(DeviceCount > 0?L'D':L'?'),
- DriverConfig?L'Y':L'N',
- DriverDiag?L'Y':L'N',
- DeviceCount,
- ChildCount,
- SfoFlag?FullDriverName:TruncatedDriverName,
- SfoFlag ? (Temp2 == NULL ? L"" : Temp2) : (ImageName == NULL ? L"" : ImageName)
- );
+ if (!SfoFlag) {
+ ShellPrintEx (
+ -1,
+ -1,
+ FormatString,
+ ConvertHandleToHandleIndex (*HandleWalker),
+ DriverVersion,
+ ChildCount > 0 ? L'B' : (DeviceCount > 0 ? L'D' : L'?'),
+ DriverConfig ? L'X' : L'-',
+ DriverDiag ? L'X' : L'-',
+ DeviceCount > 0 ? DeviceCountStr : L"-",
+ ChildCount > 0 ? ChildCountStr : L"-",
+ TruncatedDriverName,
+ ImageName == NULL ? L"" : ImageName
+ );
+ } else {
+ ShellPrintEx (
+ -1,
+ -1,
+ FormatString,
+ ConvertHandleToHandleIndex (*HandleWalker),
+ DriverVersion,
+ ChildCount > 0 ? L'B' : (DeviceCount > 0 ? L'D' : L'?'),
+ DriverConfig ? L'Y' : L'N',
+ DriverDiag ? L'Y' : L'N',
+ DeviceCount,
+ ChildCount,
+ FullDriverName,
+ Temp2 == NULL ? L"" : Temp2
+ );
+ }
if (TruncatedDriverName != NULL) {
FreePool (TruncatedDriverName);
}
diff --git a/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.uni b/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.uni
index 5ca548d9f6..05101f3782 100644
--- a/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.uni
+++ b/ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.uni
@@ -90,12 +90,12 @@
#string STR_DEVICES_ITEM_LINE_SFO #language en-US "DevicesInfo,"%x","%c","%c","%c","%d","%d","%d","%s"\r\n"
#string STR_DRIVERS_HEADER_LINES #language en-US "%N"
-" T D\r\n"
-" Y C I\r\n"
-" P F A\r\n"
-"DRV VERSION E G G #D #C DRIVER NAME IMAGE NAME\r\n"
-"=== ======== = = = === === =================================== ==========\r\n"
-#string STR_DRIVERS_ITEM_LINE #language en-US "%H%3x%N %08x %1c %1c %1c %3d %3d %-35s %s\r\n"
+"%H T D%N\r\n"
+"%HD Y C I%N\r\n"
+"%HR P F A%N\r\n"
+"%HV VERSION E G G #D #C DRIVER NAME IMAGE NAME%N\r\n"
+"== ======== = = = == == =================================== ==========\r\n"
+#string STR_DRIVERS_ITEM_LINE #language en-US "%H%2x%N %08x %1c %1c %1c %2s %2s %-35s %s\r\n"
#string STR_DRIVERS_ITEM_LINE_SFO #language en-US "DriversInfo,"%x","%x","%c","%c","%c","%d","%d","%s","%s"\r\n"
#string STR_DH_OUTPUT_DECODE #language en-US "%s: %g\r\n"