MCPcopy Create free account
hub / github.com/CloverHackyColor/CloverBootloader / DirIterNext

Function DirIterNext

rEFIt_UEFI/refit/lib.cpp:1464–1493  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1462}
1463
1464BOOLEAN DirIterNext(IN OUT REFIT_DIR_ITER *DirIter, IN UINTN FilterMode, IN CONST CHAR16 *FilePattern OPTIONAL,
1465 OUT EFI_FILE_INFO **DirEntry)
1466{
1467 if (DirIter->LastFileInfo != NULL) {
1468 FreePool(DirIter->LastFileInfo);
1469 DirIter->LastFileInfo = NULL;
1470 }
1471
1472 if (EFI_ERROR(DirIter->LastStatus))
1473 return FALSE; // stop iteration
1474
1475 for (;;) {
1476 DirIter->LastStatus = DirNextEntry(DirIter->DirHandle, &(DirIter->LastFileInfo), FilterMode);
1477 if (EFI_ERROR(DirIter->LastStatus))
1478 return FALSE;
1479 if (DirIter->LastFileInfo == NULL) // end of listing
1480 return FALSE;
1481 if (FilePattern != NULL) {
1482 if ((DirIter->LastFileInfo->Attribute & EFI_FILE_DIRECTORY))
1483 break;
1484 if (MetaiMatch(DirIter->LastFileInfo->FileName, FilePattern))
1485 break;
1486 // else continue loop
1487 } else
1488 break;
1489 }
1490
1491 *DirEntry = DirIter->LastFileInfo;
1492 return TRUE;
1493}
1494
1495EFI_STATUS DirIterClose(IN OUT REFIT_DIR_ITER *DirIter)
1496{

Callers 13

ScanVolumeFunction · 0.85
ScanDriverDirFunction · 0.85
PatchACPI_OtherOSFunction · 0.85
LoadPlugInKextsMethod · 0.85
LoadKextsMethod · 0.85
GetListOfConfigsFunction · 0.85
GetListOfDsdtsFunction · 0.85
GetListOfACPIFunction · 0.85
GetListOfInjectKextFunction · 0.85
InitKextListFunction · 0.85
GetListOfThemesFunction · 0.85
LinuxScanFunction · 0.85

Calls 3

DirNextEntryFunction · 0.85
MetaiMatchFunction · 0.85
FreePoolFunction · 0.50

Tested by

no test coverage detected