]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Universal/DevicePath/Dxe/DevicePathToText.c
remove unnecessary check for NULL pointer.
[mirror_edk2.git] / EdkModulePkg / Universal / DevicePath / Dxe / DevicePathToText.c
index 64fd5658fd3e099b1329b3086a9ace593ef94d82..f1365baa2626c496da5d82b338b4b8c265cf224f 100644 (file)
@@ -19,9 +19,9 @@ Abstract:
 \r
 --*/\r
 \r
-#include <protocol/DevicePathToText.h>\r
 #include "DevicePath.h"\r
 \r
+STATIC\r
 EFI_DEVICE_PATH_PROTOCOL *\r
 UnpackDevicePath (\r
   IN EFI_DEVICE_PATH_PROTOCOL  *DevPath\r
@@ -96,6 +96,7 @@ UnpackDevicePath (
   return NewPath;\r
 }\r
 \r
+STATIC\r
 VOID *\r
 ReallocatePool (\r
   IN VOID                 *OldPool,\r
@@ -131,12 +132,13 @@ ReallocatePool (
       CopyMem (NewPool, OldPool, OldSize < NewSize ? OldSize : NewSize);\r
     }\r
 \r
-    gBS->FreePool (OldPool);\r
+    FreePool (OldPool);\r
   }\r
 \r
   return NewPool;\r
 }\r
 \r
+STATIC\r
 CHAR16 *\r
 CatPrint (\r
   IN OUT POOL_PRINT   *Str,\r
@@ -178,7 +180,8 @@ CatPrint (
     Str->Str  = AllocateZeroPool (Size);\r
     ASSERT (Str->Str != NULL);\r
   } else {\r
-    Size = StrSize (AppendStr) + StrSize (Str->Str) - sizeof (UINT16);\r
+    Size = StrSize (AppendStr)  - sizeof (UINT16);\r
+    Size = Size + StrSize (Str->Str);\r
     Str->Str = ReallocatePool (\r
                 Str->Str,\r
                 StrSize (Str->Str),\r
@@ -193,10 +196,11 @@ CatPrint (
     Str->Len = Size - sizeof (UINT16);\r
   }\r
 \r
-  gBS->FreePool (AppendStr);\r
+  FreePool (AppendStr);\r
   return Str->Str;\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextPci (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -211,6 +215,7 @@ DevPathToTextPci (
   CatPrint (Str, L"Pci(%x,%x)", Pci->Function, Pci->Device);\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextPccard (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -225,6 +230,7 @@ DevPathToTextPccard (
   CatPrint (Str, L"PcCard(%x)", Pccard->FunctionNumber);\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextMemMap (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -244,6 +250,7 @@ DevPathToTextMemMap (
     );\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextVendor (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -358,6 +365,7 @@ DevPathToTextVendor (
   CatPrint (Str, L")");\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextController (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -372,10 +380,11 @@ DevPathToTextController (
   CatPrint (\r
     Str,\r
     L"Ctrl(%x)",\r
-    (UINT16 *)Controller->ControllerNumber\r
+    Controller->ControllerNumber\r
     );\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextAcpi (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -423,8 +432,9 @@ DevPathToTextAcpi (
   }\r
 }\r
 \r
-#define NextStrA(a) ((UINT8 *) (((UINT8 *) (a)) + AsciiStrLen (a) + 1))\r
+#define NextStrA(a) ((UINT8 *) (((UINT8 *) (a)) + AsciiStrLen ((CHAR8 *) (a)) + 1))\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextExtAcpi (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -434,12 +444,14 @@ DevPathToTextExtAcpi (
   )\r
 {\r
   ACPI_EXTENDED_HID_DEVICE_PATH_WITH_STR  *AcpiExt;\r
+  UINT8                                   *NextString;\r
 \r
   AcpiExt = DevPath;\r
 \r
   if (AllowShortcuts) {\r
+    NextString = NextStrA (AcpiExt->HidUidCidStr);\r
     if ((*(AcpiExt->HidUidCidStr) == '\0') &&\r
-        (*(NextStrA (NextStrA (AcpiExt->HidUidCidStr))) == '\0') &&\r
+        (*(NextStrA (NextString)) == '\0') &&\r
         (AcpiExt->UID == 0)\r
         ) {\r
       if ((AcpiExt->HID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {\r
@@ -463,6 +475,8 @@ DevPathToTextExtAcpi (
     return ;\r
   }\r
 \r
+  NextString = NextStrA (AcpiExt->HidUidCidStr);\r
+  NextString = NextStrA (NextString);\r
   if ((AcpiExt->HID & PNP_EISA_ID_MASK) == PNP_EISA_ID_CONST) {\r
     CatPrint (\r
       Str,\r
@@ -471,7 +485,7 @@ DevPathToTextExtAcpi (
       AcpiExt->CID,\r
       AcpiExt->UID,\r
       AcpiExt->HidUidCidStr,\r
-      NextStrA (NextStrA (AcpiExt->HidUidCidStr)),\r
+      NextString,\r
       NextStrA (AcpiExt->HidUidCidStr)\r
       );\r
   } else {\r
@@ -482,12 +496,13 @@ DevPathToTextExtAcpi (
       AcpiExt->CID,\r
       AcpiExt->UID,\r
       AcpiExt->HidUidCidStr,\r
-      NextStrA (NextStrA (AcpiExt->HidUidCidStr)),\r
+      NextString,\r
       NextStrA (AcpiExt->HidUidCidStr)\r
       );\r
   }\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextAtapi (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -513,6 +528,7 @@ DevPathToTextAtapi (
   }\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextScsi (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -527,6 +543,7 @@ DevPathToTextScsi (
   CatPrint (Str, L"Scsi(%x,%x)", Scsi->Pun, Scsi->Lun);\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextFibre (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -541,6 +558,7 @@ DevPathToTextFibre (
   CatPrint (Str, L"Fibre(%lx,%lx)", Fibre->WWN, Fibre->Lun);\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToText1394 (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -555,6 +573,7 @@ DevPathToText1394 (
   CatPrint (Str, L"I1394(%lx)", F1394->Guid);\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextUsb (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -569,6 +588,7 @@ DevPathToTextUsb (
   CatPrint (Str, L"USB(%x,%x)", Usb->ParentPortNumber, Usb->InterfaceNumber);\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextUsbWWID (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -589,6 +609,7 @@ DevPathToTextUsbWWID (
     );\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextLogicalUnit (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -603,6 +624,7 @@ DevPathToTextLogicalUnit (
   CatPrint (Str, L"Unit(%x)", LogicalUnit->Lun);\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextUsbClass (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -795,6 +817,7 @@ DevPathToTextUsbClass (
     );\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextI2O (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -809,6 +832,7 @@ DevPathToTextI2O (
   CatPrint (Str, L"I2O(%x)", I2O->Tid);\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextMacAddr (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -837,6 +861,7 @@ DevPathToTextMacAddr (
   CatPrint (Str, L",%x)", MAC->IfType);\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextIPv4 (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -876,6 +901,7 @@ DevPathToTextIPv4 (
     );\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextIPv6 (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -951,6 +977,7 @@ DevPathToTextIPv6 (
     );\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextInfiniBand (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -973,6 +1000,7 @@ DevPathToTextInfiniBand (
     );\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextUart (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -1052,6 +1080,7 @@ DevPathToTextUart (
   }\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextiSCSI (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -1087,6 +1116,7 @@ DevPathToTextiSCSI (
   CatPrint (Str, L"%s)", (iSCSI->NetworkProtocol == 0) ? L"TCP" : L"reserved");\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextHardDrive (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -1135,6 +1165,7 @@ DevPathToTextHardDrive (
   CatPrint (Str, L"%lx,%lx)", Hd->PartitionStart, Hd->PartitionSize);\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextCDROM (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -1154,6 +1185,7 @@ DevPathToTextCDROM (
   CatPrint (Str, L"CDROM(%x,%lx,%lx)", Cd->BootEntry, Cd->PartitionStart, Cd->PartitionSize);\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextFilePath (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -1168,6 +1200,7 @@ DevPathToTextFilePath (
   CatPrint (Str, L"%s", Fp->PathName);\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextMediaProtocol (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -1182,6 +1215,7 @@ DevPathToTextMediaProtocol (
   CatPrint (Str, L"Media(%g)", &MediaProt->Protocol);\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextBBS (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -1234,6 +1268,7 @@ DevPathToTextBBS (
   CatPrint (Str, L",%x)", Bbs->StatusFlag);\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextEndInstance (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -1245,6 +1280,7 @@ DevPathToTextEndInstance (
   CatPrint (Str, L",");\r
 }\r
 \r
+STATIC\r
 VOID\r
 DevPathToTextNodeUnknown (\r
   IN OUT POOL_PRINT  *Str,\r
@@ -1256,103 +1292,39 @@ DevPathToTextNodeUnknown (
   CatPrint (Str, L"?");\r
 }\r
 \r
-DEVICE_PATH_TO_TEXT_TABLE DevPathToTextTable[] = {\r
-  HARDWARE_DEVICE_PATH,\r
-  HW_PCI_DP,\r
-  DevPathToTextPci,\r
-  HARDWARE_DEVICE_PATH,\r
-  HW_PCCARD_DP,\r
-  DevPathToTextPccard,\r
-  HARDWARE_DEVICE_PATH,\r
-  HW_MEMMAP_DP,\r
-  DevPathToTextMemMap,\r
-  HARDWARE_DEVICE_PATH,\r
-  HW_VENDOR_DP,\r
-  DevPathToTextVendor,\r
-  HARDWARE_DEVICE_PATH,\r
-  HW_CONTROLLER_DP,\r
-  DevPathToTextController,\r
-  ACPI_DEVICE_PATH,\r
-  ACPI_DP,\r
-  DevPathToTextAcpi,\r
-  ACPI_DEVICE_PATH,\r
-  ACPI_EXTENDED_DP,\r
-  DevPathToTextExtAcpi,\r
-  MESSAGING_DEVICE_PATH,\r
-  MSG_ATAPI_DP,\r
-  DevPathToTextAtapi,\r
-  MESSAGING_DEVICE_PATH,\r
-  MSG_SCSI_DP,\r
-  DevPathToTextScsi,\r
-  MESSAGING_DEVICE_PATH,\r
-  MSG_FIBRECHANNEL_DP,\r
-  DevPathToTextFibre,\r
-  MESSAGING_DEVICE_PATH,\r
-  MSG_1394_DP,\r
-  DevPathToText1394,\r
-  MESSAGING_DEVICE_PATH,\r
-  MSG_USB_DP,\r
-  DevPathToTextUsb,\r
-  MESSAGING_DEVICE_PATH,\r
-  MSG_USB_WWID_DP,\r
-  DevPathToTextUsbWWID,\r
-  MESSAGING_DEVICE_PATH,\r
-  MSG_DEVICE_LOGICAL_UNIT_DP,\r
-  DevPathToTextLogicalUnit,\r
-  MESSAGING_DEVICE_PATH,\r
-  MSG_USB_CLASS_DP,\r
-  DevPathToTextUsbClass,\r
-  MESSAGING_DEVICE_PATH,\r
-  MSG_I2O_DP,\r
-  DevPathToTextI2O,\r
-  MESSAGING_DEVICE_PATH,\r
-  MSG_MAC_ADDR_DP,\r
-  DevPathToTextMacAddr,\r
-  MESSAGING_DEVICE_PATH,\r
-  MSG_IPv4_DP,\r
-  DevPathToTextIPv4,\r
-  MESSAGING_DEVICE_PATH,\r
-  MSG_IPv6_DP,\r
-  DevPathToTextIPv6,\r
-  MESSAGING_DEVICE_PATH,\r
-  MSG_INFINIBAND_DP,\r
-  DevPathToTextInfiniBand,\r
-  MESSAGING_DEVICE_PATH,\r
-  MSG_UART_DP,\r
-  DevPathToTextUart,\r
-  MESSAGING_DEVICE_PATH,\r
-  MSG_VENDOR_DP,\r
-  DevPathToTextVendor,\r
-  MESSAGING_DEVICE_PATH,\r
-  MSG_ISCSI_DP,\r
-  DevPathToTextiSCSI,\r
-  MEDIA_DEVICE_PATH,\r
-  MEDIA_HARDDRIVE_DP,\r
-  DevPathToTextHardDrive,\r
-  MEDIA_DEVICE_PATH,\r
-  MEDIA_CDROM_DP,\r
-  DevPathToTextCDROM,\r
-  MEDIA_DEVICE_PATH,\r
-  MEDIA_VENDOR_DP,\r
-  DevPathToTextVendor,\r
-  MEDIA_DEVICE_PATH,\r
-  MEDIA_FILEPATH_DP,\r
-  DevPathToTextFilePath,\r
-  MEDIA_DEVICE_PATH,\r
-  MEDIA_PROTOCOL_DP,\r
-  DevPathToTextMediaProtocol,\r
-  MEDIA_DEVICE_PATH,\r
-  MEDIA_FILEPATH_DP,\r
-  DevPathToTextFilePath,\r
-  BBS_DEVICE_PATH,\r
-  BBS_BBS_DP,\r
-  DevPathToTextBBS,\r
-  END_DEVICE_PATH_TYPE,\r
-  END_INSTANCE_DEVICE_PATH_SUBTYPE,\r
-  DevPathToTextEndInstance,\r
-  0,\r
-  0,\r
-  NULL\r
+GLOBAL_REMOVE_IF_UNREFERENCED const DEVICE_PATH_TO_TEXT_TABLE DevPathToTextTable[] = {\r
+  {HARDWARE_DEVICE_PATH, HW_PCI_DP, DevPathToTextPci},\r
+  {HARDWARE_DEVICE_PATH, HW_PCCARD_DP, DevPathToTextPccard},\r
+  {HARDWARE_DEVICE_PATH, HW_MEMMAP_DP, DevPathToTextMemMap},\r
+  {HARDWARE_DEVICE_PATH, HW_VENDOR_DP, DevPathToTextVendor},\r
+  {HARDWARE_DEVICE_PATH, HW_CONTROLLER_DP, DevPathToTextController},\r
+  {ACPI_DEVICE_PATH, ACPI_DP, DevPathToTextAcpi},\r
+  {ACPI_DEVICE_PATH, ACPI_EXTENDED_DP, DevPathToTextExtAcpi},\r
+  {MESSAGING_DEVICE_PATH, MSG_ATAPI_DP, DevPathToTextAtapi},\r
+  {MESSAGING_DEVICE_PATH, MSG_SCSI_DP, DevPathToTextScsi},\r
+  {MESSAGING_DEVICE_PATH, MSG_FIBRECHANNEL_DP, DevPathToTextFibre},\r
+  {MESSAGING_DEVICE_PATH, MSG_1394_DP, DevPathToText1394},\r
+  {MESSAGING_DEVICE_PATH, MSG_USB_DP, DevPathToTextUsb},\r
+  {MESSAGING_DEVICE_PATH, MSG_USB_WWID_DP, DevPathToTextUsbWWID},\r
+  {MESSAGING_DEVICE_PATH, MSG_DEVICE_LOGICAL_UNIT_DP, DevPathToTextLogicalUnit},\r
+  {MESSAGING_DEVICE_PATH, MSG_USB_CLASS_DP, DevPathToTextUsbClass},\r
+  {MESSAGING_DEVICE_PATH, MSG_I2O_DP, DevPathToTextI2O},\r
+  {MESSAGING_DEVICE_PATH, MSG_MAC_ADDR_DP, DevPathToTextMacAddr},\r
+  {MESSAGING_DEVICE_PATH, MSG_IPv4_DP, DevPathToTextIPv4},\r
+  {MESSAGING_DEVICE_PATH, MSG_IPv6_DP, DevPathToTextIPv6},\r
+  {MESSAGING_DEVICE_PATH, MSG_INFINIBAND_DP, DevPathToTextInfiniBand},\r
+  {MESSAGING_DEVICE_PATH, MSG_UART_DP, DevPathToTextUart},\r
+  {MESSAGING_DEVICE_PATH, MSG_VENDOR_DP, DevPathToTextVendor},\r
+  {MESSAGING_DEVICE_PATH, MSG_ISCSI_DP, DevPathToTextiSCSI},\r
+  {MEDIA_DEVICE_PATH, MEDIA_HARDDRIVE_DP, DevPathToTextHardDrive},\r
+  {MEDIA_DEVICE_PATH, MEDIA_CDROM_DP, DevPathToTextCDROM},\r
+  {MEDIA_DEVICE_PATH, MEDIA_VENDOR_DP, DevPathToTextVendor},\r
+  {MEDIA_DEVICE_PATH, MEDIA_FILEPATH_DP, DevPathToTextFilePath},\r
+  {MEDIA_DEVICE_PATH, MEDIA_PROTOCOL_DP, DevPathToTextMediaProtocol},\r
+  {MEDIA_DEVICE_PATH, MEDIA_FILEPATH_DP, DevPathToTextFilePath},\r
+  {BBS_DEVICE_PATH, BBS_BBS_DP, DevPathToTextBBS},\r
+  {END_DEVICE_PATH_TYPE, END_INSTANCE_DEVICE_PATH_SUBTYPE, DevPathToTextEndInstance},\r
+  {0, 0, NULL}\r
 };\r
 \r
 CHAR16 *\r
@@ -1516,7 +1488,7 @@ ConvertDevicePathToText (
   //\r
   // Shrink pool used for string allocation\r
   //\r
-  gBS->FreePool (UnpackDevPath);\r
+  FreePool (UnpackDevPath);\r
 \r
   NewSize = (Str.Len + 1) * sizeof (CHAR16);\r
   Str.Str = ReallocatePool (Str.Str, NewSize, NewSize);\r