]> code.delx.au - refind/blobdiff - refind/lib.c
0.6.8 version.
[refind] / refind / lib.c
index 1930e079e63b4b8f2d06da07537228c7a50ccd6a..601038c741f63100dfd847df5d06cda4ba839b28 100644 (file)
@@ -48,6 +48,7 @@
 #include "screen.h"
 #include "../include/refit_call_wrapper.h"
 #include "../include/RemovableMedia.h"
+//#include "../include/UsbMass.h"
 
 #ifdef __MAKEWITH_GNUEFI
 #define EfiReallocatePool ReallocatePool
@@ -92,9 +93,6 @@ UINTN            VolumesCount = 0;
 // and identify its boot loader, and hence probable BIOS-mode OS installation
 #define SAMPLE_SIZE 69632 /* 68 KiB -- ReiserFS superblock begins at 64 KiB */
 
-// Default names for volume badges (mini-icon to define disk type) and icons
-#define VOLUME_BADGE_NAMES L".VolumeBadge.icns,.VolumeBadge.png"
-#define VOLUME_ICON_NAMES L".VolumeIcon.icns,.VolumeIcon.png"
 
 // functions
 
@@ -852,9 +850,9 @@ VOID ScanVolume(REFIT_VOLUME *Volume)
 
     // get custom volume icon if present
     if (!Volume->VolBadgeImage)
-       Volume->VolBadgeImage = LoadIcns(Volume->RootDir, VOLUME_BADGE_NAMES, 32);
+       Volume->VolBadgeImage = egLoadIconAnyType(Volume->RootDir, L"", L".VolumeBadge", 32);
     if (!Volume->VolIconImage)
-       Volume->VolIconImage = LoadIcns(Volume->RootDir, VOLUME_ICON_NAMES, 128);
+       Volume->VolIconImage = egLoadIconAnyType(Volume->RootDir, L"", L".VolumeIcon", 128);
 } // ScanVolume()
 
 static VOID ScanExtendedPartition(REFIT_VOLUME *WholeDiskVolume, MBR_PARTITION_INFO *MbrEntry)
@@ -1153,13 +1151,15 @@ EFI_STATUS DirNextEntry(IN EFI_FILE *Directory, IN OUT EFI_FILE_INFO **DirEntry,
             LastBufferSize = BufferSize;
         }
         if (EFI_ERROR(Status)) {
-            FreePool(Buffer);
+            MyFreePool(Buffer);
+            Buffer = NULL;
             break;
         }
 
         // check for end of listing
         if (BufferSize == 0) {    // end of directory listing
-            FreePool(Buffer);
+            MyFreePool(Buffer);
+            Buffer = NULL;
             break;
         }
 
@@ -1275,7 +1275,6 @@ BOOLEAN DirIterNext(IN OUT REFIT_DIR_ITER *DirIter, IN UINTN FilterMode, IN CHAR
             while (KeepGoing && (OnePattern = FindCommaDelimited(FilePattern, i++)) != NULL) {
                if (MetaiMatch(DirIter->LastFileInfo->FileName, OnePattern))
                    KeepGoing = FALSE;
-//               Print(L"%s did%s match %s\n", DirIter->LastFileInfo->FileName, KeepGoing ? L" not" : L"", OnePattern);
             } // while
             // else continue loop
         } else