Author: hbelusca
Date: Mon Jan 5 22:24:56 2015
New Revision: 65988
URL:
http://svn.reactos.org/svn/reactos?rev=65988&view=rev
Log:
[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.
Modified:
trunk/reactos/boot/freeldr/freeldr/disk/ramdisk.c
trunk/reactos/boot/freeldr/freeldr/include/ramdisk.h
trunk/reactos/boot/freeldr/freeldr/windows/setupldr.c
trunk/reactos/boot/freeldr/freeldr/windows/winldr.c
Modified: trunk/reactos/boot/freeldr/freeldr/disk/ramdisk.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/disk/…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/disk/ramdisk.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/disk/ramdisk.c [iso-8859-1] Mon Jan 5 22:24:56
2015
@@ -116,7 +116,7 @@
FsRegisterDevice("ramdisk(0)", &RamDiskVtbl);
}
-VOID
+BOOLEAN
NTAPI
RamDiskLoadVirtualFile(IN PCHAR FileName)
{
@@ -138,7 +138,7 @@
//
RamFile = FsOpenFile(FileName);
if (!RamFile)
- return;
+ return FALSE;
//
// Get the file size
@@ -147,7 +147,7 @@
if (Status != ESUCCESS)
{
FsCloseFile(RamFile);
- return;
+ return FALSE;
}
//
@@ -157,7 +157,7 @@
{
UiMessageBox("RAM disk too big\n");
FsCloseFile(RamFile);
- return;
+ return FALSE;
}
gRamDiskSize = Information.EndingAddress.LowPart;
@@ -174,7 +174,7 @@
{
UiMessageBox("Failed to allocate memory for RAM disk\n");
FsCloseFile(RamFile);
- return;
+ return FALSE;
}
//
@@ -222,8 +222,8 @@
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 @@
// Register a new device for the ramdisk
FsRegisterDevice("ramdisk(0)", &RamDiskVtbl);
-}
+
+ return TRUE;
+}
Modified: trunk/reactos/boot/freeldr/freeldr/include/ramdisk.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/inclu…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/include/ramdisk.h [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/include/ramdisk.h [iso-8859-1] Mon Jan 5 22:24:56
2015
@@ -11,7 +11,7 @@
//
// Ramdisk Routines
//
-VOID
+BOOLEAN
NTAPI
RamDiskLoadVirtualFile(
IN PCHAR FileName
Modified: trunk/reactos/boot/freeldr/freeldr/windows/setupldr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/windo…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/windows/setupldr.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/windows/setupldr.c [iso-8859-1] Mon Jan 5 22:24:56
2015
@@ -237,7 +237,11 @@
*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 @@
SystemPath = SourcePaths[i];
if (!SystemPath)
{
- ERR("Failed to open txtsetup.sif\n");
+ UiMessageBox("Failed to open txtsetup.sif\n");
return;
}
strcpy(File, SystemPath);
Modified: trunk/reactos/boot/freeldr/freeldr/windows/winldr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/windo…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/windows/winldr.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/windows/winldr.c [iso-8859-1] Mon Jan 5 22:24:56
2015
@@ -674,7 +674,11 @@
*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 */