- // Get second device path string.\r
- //\r
- DevicePathStr2 = DevicePathText->ConvertDevicePathToText (DevicePath2, TRUE, TRUE);\r
- ConvertDPStr (DevicePathStr2);\r
- \r
+ FileNameSize1 = GetFileName (DevicePath1, &FileName1, &FileNameOffset1);\r
+ if (FileNameSize1 != 0) {\r
+ FileNameSize2 = GetFileName (DevicePath2, &FileName2, &FileNameOffset2);\r
+ if (FileNameOffset1 != FileNameOffset2) {\r
+ DevicePathEqual = FALSE;\r
+ goto Done;\r
+ }\r
+ if (CompareMem (DevicePath1, DevicePath2, FileNameOffset1) != 0) { \r
+ DevicePathEqual = FALSE;\r
+ goto Done;\r
+ }\r
+ if (FileNameSize1 > FileNameSize2) {\r
+ DevicePathEqual = FALSE;\r
+ goto Done;\r
+ }\r
+ if (CompareMem (FileName1, FileName2, FileNameSize1) != 0) { \r
+ DevicePathEqual = FALSE;\r
+ goto Done;\r
+ }\r
+ DevicePathEqual = TRUE;\r
+ goto Done;\r
+ }\r
+\r
+ DevicePathSize = GetDevicePathSize (DevicePath1);\r
+ if (DevicePathSize > GetDevicePathSize (DevicePath2)) {\r
+ return FALSE;\r
+ }\r
+\r