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
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
#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