mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 17:34:57 +00:00
[FREELDR]: Make RamDiskLoadVirtualFile returning a BOOLEAN such that if we fail to load a Ram disk image, we can display an error message and abort boot.
svn path=/trunk/; revision=65988
This commit is contained in:
parent
2bc6104f3d
commit
bf3f878ee5
4 changed files with 21 additions and 11 deletions
|
@ -116,7 +116,7 @@ RamDiskInitialize(VOID)
|
|||
FsRegisterDevice("ramdisk(0)", &RamDiskVtbl);
|
||||
}
|
||||
|
||||
VOID
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
RamDiskLoadVirtualFile(IN PCHAR FileName)
|
||||
{
|
||||
|
@ -138,7 +138,7 @@ RamDiskLoadVirtualFile(IN PCHAR FileName)
|
|||
//
|
||||
RamFile = FsOpenFile(FileName);
|
||||
if (!RamFile)
|
||||
return;
|
||||
return FALSE;
|
||||
|
||||
//
|
||||
// Get the file size
|
||||
|
@ -147,7 +147,7 @@ RamDiskLoadVirtualFile(IN PCHAR FileName)
|
|||
if (Status != ESUCCESS)
|
||||
{
|
||||
FsCloseFile(RamFile);
|
||||
return;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -157,7 +157,7 @@ RamDiskLoadVirtualFile(IN PCHAR FileName)
|
|||
{
|
||||
UiMessageBox("RAM disk too big\n");
|
||||
FsCloseFile(RamFile);
|
||||
return;
|
||||
return FALSE;
|
||||
}
|
||||
gRamDiskSize = Information.EndingAddress.LowPart;
|
||||
|
||||
|
@ -174,7 +174,7 @@ RamDiskLoadVirtualFile(IN PCHAR FileName)
|
|||
{
|
||||
UiMessageBox("Failed to allocate memory for RAM disk\n");
|
||||
FsCloseFile(RamFile);
|
||||
return;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -222,8 +222,8 @@ RamDiskLoadVirtualFile(IN PCHAR FileName)
|
|||
gRamDiskBase = NULL;
|
||||
gRamDiskSize = 0;
|
||||
FsCloseFile(RamFile);
|
||||
UiMessageBox("Failed to read RamDisk\n");
|
||||
return;
|
||||
UiMessageBox("Failed to read RAM disk\n");
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -231,4 +231,6 @@ RamDiskLoadVirtualFile(IN PCHAR FileName)
|
|||
|
||||
// Register a new device for the ramdisk
|
||||
FsRegisterDevice("ramdisk(0)", &RamDiskVtbl);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
//
|
||||
// Ramdisk Routines
|
||||
//
|
||||
VOID
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
RamDiskLoadVirtualFile(
|
||||
IN PCHAR FileName
|
||||
|
|
|
@ -237,7 +237,11 @@ LoadReactOSSetup(IN OperatingSystemItem* OperatingSystem,
|
|||
*strstr(FileName, " ") = ANSI_NULL;
|
||||
|
||||
/* Load the ramdisk */
|
||||
RamDiskLoadVirtualFile(FileName);
|
||||
if (!RamDiskLoadVirtualFile(FileName))
|
||||
{
|
||||
UiMessageBox("Failed to load RAM disk file %s\n", FileName);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
TRACE("BootPath: '%s'\n", BootPath);
|
||||
|
@ -252,7 +256,7 @@ LoadReactOSSetup(IN OperatingSystemItem* OperatingSystem,
|
|||
SystemPath = SourcePaths[i];
|
||||
if (!SystemPath)
|
||||
{
|
||||
ERR("Failed to open txtsetup.sif\n");
|
||||
UiMessageBox("Failed to open txtsetup.sif\n");
|
||||
return;
|
||||
}
|
||||
strcpy(File, SystemPath);
|
||||
|
|
|
@ -674,7 +674,11 @@ LoadAndBootWindows(IN OperatingSystemItem* OperatingSystem,
|
|||
*strstr(FileName, " ") = ANSI_NULL;
|
||||
|
||||
/* Load the ramdisk */
|
||||
RamDiskLoadVirtualFile(FileName);
|
||||
if (!RamDiskLoadVirtualFile(FileName))
|
||||
{
|
||||
UiMessageBox("Failed to load RAM disk file %s\n", FileName);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/* Let user know we started loading */
|
||||
|
|
Loading…
Reference in a new issue