+ case TAG_MEMTEST:
+ j = 0;
+ while ((FileName = FindCommaDelimited(MEMTEST_LOCATIONS, j++)) != NULL) {
+ k = 0;
+ while ((MemtestName = FindCommaDelimited(MEMTEST_NAMES, k++)) != NULL) {
+ PathName = StrDuplicate(FileName);
+ MergeStrings(&PathName, MemtestName, (StriCmp(PathName, L"\\") == 0) ? 0 : L'\\');
+ for (VolumeIndex = 0; VolumeIndex < VolumesCount; VolumeIndex++) {
+ if ((Volumes[VolumeIndex]->RootDir != NULL) && (FileExists(Volumes[VolumeIndex]->RootDir, PathName))) {
+ SPrint(Description, 255, L"Memory test utility at %s on %s", PathName, Volumes[VolumeIndex]->VolName);
+ AddToolEntry(Volumes[VolumeIndex]->DeviceHandle, PathName, Description,
+ BuiltinIcon(BUILTIN_ICON_FUNC_FIRMWARE), 'S', FALSE);
+ } // if
+ } // for
+ MyFreePool(PathName);
+ MyFreePool(MemtestName);
+ } // while MEMTEST_NAMES
+ MyFreePool(FileName);
+ } // while MEMTEST_LOCATIONS