- if (KernelVersion != NULL) {
- if (MyStriCmp(InitrdVersion, KernelVersion)) {
- InitrdName = PoolPrint(L"%s%s", Path, DirEntry->FileName);
- } // if
+ if (((KernelVersion != NULL) && (MyStriCmp(InitrdVersion, KernelVersion))) ||
+ ((KernelVersion == NULL) && (InitrdVersion == NULL))) {
+ CurrentInitrdName = AllocateZeroPool(sizeof(STRING_LIST));
+ if (InitrdNames == NULL)
+ InitrdNames = FinalInitrdName = CurrentInitrdName;
+ if (CurrentInitrdName) {
+ CurrentInitrdName->Value = PoolPrint(L"%s%s", Path, DirEntry->FileName);
+ if (CurrentInitrdName != FinalInitrdName) {
+ FinalInitrdName->Next = CurrentInitrdName;
+ FinalInitrdName = CurrentInitrdName;
+ } // if
+ } // if
+ } // if
+ } // while
+ if (InitrdNames) {
+ if (InitrdNames->Next == NULL) {
+ InitrdName = StrDuplicate(InitrdNames -> Value);