]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ShellPkg/driver: Show "-" in non-SFO mode
authorHuajing Li <huajing.li@intel.com>
Mon, 7 Aug 2017 07:51:43 +0000 (15:51 +0800)
committerRuiyu Ni <ruiyu.ni@intel.com>
Thu, 10 Aug 2017 04:29:35 +0000 (12:29 +0800)
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>
ShellPkg/Library/UefiShellDriver1CommandsLib/Drivers.c
ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.uni

index f3c1476872c0132905e4048e17bc5ece9ae00669..4d876bb108fb1ce1e9d5653ea7a71d2f8db48f3f 100644 (file)
@@ -269,6 +269,8 @@ ShellCommandRunDrivers (
   EFI_HANDLE          *HandleWalker;\r
   UINTN               ChildCount;\r
   UINTN               DeviceCount;\r
+  CHAR16              ChildCountStr[3];\r
+  CHAR16              DeviceCountStr[3];\r
   CHAR16              *Temp2;\r
   CONST CHAR16        *FullDriverName;\r
   CHAR16              *TruncatedDriverName;\r
@@ -363,26 +365,45 @@ ShellCommandRunDrivers (
         FullDriverName = GetStringNameFromHandle(*HandleWalker, Language);\r
         ImageName      = GetImageNameFromHandle (*HandleWalker);\r
 \r
+        UnicodeValueToStringS (ChildCountStr,  sizeof (ChildCountStr),  0, ChildCount,  0);\r
+        UnicodeValueToStringS (DeviceCountStr, sizeof (DeviceCountStr), 0, DeviceCount, 0);\r
         TruncatedDriverName = NULL;\r
         if (!SfoFlag && (FullDriverName != NULL)) {\r
           TruncatedDriverName = AllocateZeroPool ((MAX_LEN_DRIVER_NAME + 1) * sizeof (CHAR16));\r
           StrnCpyS (TruncatedDriverName, MAX_LEN_DRIVER_NAME + 1, FullDriverName, MAX_LEN_DRIVER_NAME);\r
         }\r
 \r
-        ShellPrintEx(\r
-          -1,\r
-          -1,\r
-          FormatString,\r
-          ConvertHandleToHandleIndex(*HandleWalker),\r
-          DriverVersion,\r
-          ChildCount > 0?L'B':(DeviceCount > 0?L'D':L'?'),\r
-          DriverConfig?L'Y':L'N',\r
-          DriverDiag?L'Y':L'N',\r
-          DeviceCount,\r
-          ChildCount,\r
-          SfoFlag?FullDriverName:TruncatedDriverName,\r
-          SfoFlag ? (Temp2 == NULL ? L"" : Temp2) : (ImageName == NULL ? L"" : ImageName)\r
-          );\r
+        if (!SfoFlag) {\r
+          ShellPrintEx (\r
+            -1,\r
+            -1,\r
+            FormatString,\r
+            ConvertHandleToHandleIndex (*HandleWalker),\r
+            DriverVersion,\r
+            ChildCount > 0 ? L'B' : (DeviceCount > 0 ? L'D' : L'?'),\r
+            DriverConfig ? L'X' : L'-',\r
+            DriverDiag ? L'X' : L'-',\r
+            DeviceCount > 0 ? DeviceCountStr : L"-",\r
+            ChildCount  > 0 ? ChildCountStr : L"-",\r
+            TruncatedDriverName,\r
+            ImageName == NULL ? L"" : ImageName\r
+            );\r
+        } else {\r
+          ShellPrintEx (\r
+            -1,\r
+            -1,\r
+            FormatString,\r
+            ConvertHandleToHandleIndex (*HandleWalker),\r
+            DriverVersion,\r
+            ChildCount > 0 ? L'B' : (DeviceCount > 0 ? L'D' : L'?'),\r
+            DriverConfig ? L'Y' : L'N',\r
+            DriverDiag ? L'Y' : L'N',\r
+            DeviceCount,\r
+            ChildCount,\r
+            FullDriverName,\r
+            Temp2 == NULL ? L"" : Temp2\r
+            );\r
+        }\r
         if (TruncatedDriverName != NULL) {\r
           FreePool (TruncatedDriverName);\r
         }\r
index 5ca548d9f6393f1d0471f891cdcf913e30a59d3f..05101f3782f8cfd5864909ae577c86044cca9727 100644 (file)
 #string STR_DEVICES_ITEM_LINE_SFO #language en-US "DevicesInfo,"%x","%c","%c","%c","%d","%d","%d","%s"\r\n"\r
 \r
 #string STR_DRIVERS_HEADER_LINES  #language en-US "%N"\r
-"             T   D\r\n"\r
-"             Y C I\r\n"\r
-"             P F A\r\n"\r
-"DRV VERSION  E G G #D  #C  DRIVER NAME                         IMAGE NAME\r\n"\r
-"=== ======== = = = === === =================================== ==========\r\n"\r
-#string STR_DRIVERS_ITEM_LINE     #language en-US "%H%3x%N %08x %1c %1c %1c %3d %3d %-35s %s\r\n"\r
+"%H            T   D%N\r\n"\r
+"%HD           Y C I%N\r\n"\r
+"%HR           P F A%N\r\n"\r
+"%HV  VERSION  E G G #D #C DRIVER NAME                         IMAGE NAME%N\r\n"\r
+"== ======== = = = == == =================================== ==========\r\n"\r
+#string STR_DRIVERS_ITEM_LINE     #language en-US "%H%2x%N %08x %1c %1c %1c %2s %2s %-35s %s\r\n"\r
 #string STR_DRIVERS_ITEM_LINE_SFO #language en-US "DriversInfo,"%x","%x","%c","%c","%c","%d","%d","%s","%s"\r\n"\r
 \r
 #string STR_DH_OUTPUT_DECODE      #language en-US "%s: %g\r\n"\r