Author: hpoussin
Date: Tue Jan 13 20:08:14 2015
New Revision: 66033
URL: http://svn.reactos.org/svn/reactos?rev=66033&view=rev
Log:
[FREELDR] Support failing to load some boot drivers
In that case, simply skip it and try the next one.
Modified:
trunk/reactos/boot/freeldr/freeldr/windows/winldr.c
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] Tue Jan 13 20:08:14 2015
@@ -301,6 +301,7 @@
PLIST_ENTRY NextBd;
PBOOT_DRIVER_LIST_ENTRY BootDriver;
BOOLEAN Success;
+ BOOLEAN ret = TRUE;
// Walk through the boot drivers list
NextBd = LoaderBlock->BootDriverListHead.Flink;
@@ -321,24 +322,28 @@
0,
&BootDriver->LdrEntry);
- // If loading failed - cry loudly
- //FIXME: Maybe remove it from the list and try to continue?
- if (!Success)
+ if (Success)
{
- ERR("Can't load boot driver '%wZ'!", &BootDriver->FilePath);
+ // Convert the RegistryPath and DTE addresses to VA since we are not going to use it anymore
+ BootDriver->RegistryPath.Buffer = PaToVa(BootDriver->RegistryPath.Buffer);
+ BootDriver->FilePath.Buffer = PaToVa(BootDriver->FilePath.Buffer);
+ BootDriver->LdrEntry = PaToVa(BootDriver->LdrEntry);
+ }
+ else
+ {
+ // Loading failed - cry loudly
+ ERR("Can't load boot driver '%wZ'!\n", &BootDriver->FilePath);
UiMessageBox("Can't load boot driver '%wZ'!", &BootDriver->FilePath);
- return FALSE;
+ ret = FALSE;
+
+ // Remove it from the list and try to continue
+ RemoveEntryList(NextBd);
}
- // Convert the RegistryPath and DTE addresses to VA since we are not going to use it anymore
- BootDriver->RegistryPath.Buffer = PaToVa(BootDriver->RegistryPath.Buffer);
- BootDriver->FilePath.Buffer = PaToVa(BootDriver->FilePath.Buffer);
- BootDriver->LdrEntry = PaToVa(BootDriver->LdrEntry);
-
NextBd = BootDriver->Link.Flink;
}
- return TRUE;
+ return ret;
}
PVOID
Author: hpoussin
Date: Sun Jan 11 20:43:41 2015
New Revision: 66029
URL: http://svn.reactos.org/svn/reactos?rev=66029&view=rev
Log:
[cdmake] Set correct dates for directory entries
Set directory creation date to creation date of its parent, and fix root directory creation date.
This fixes a off-by-one month if ISO was created between February and December,
and invalid dates if ISO was created in January.
Modified:
trunk/reactos/tools/cdmake/cdmake.c
Modified: trunk/reactos/tools/cdmake/cdmake.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cdmake/cdmake.c?rev=…
==============================================================================
--- trunk/reactos/tools/cdmake/cdmake.c [iso-8859-1] (original)
+++ trunk/reactos/tools/cdmake/cdmake.c [iso-8859-1] Sun Jan 11 20:43:41 2015
@@ -1077,6 +1077,7 @@
new_d->next_in_directory = d->first_record;
d->first_record = new_d;
new_d->next_in_memory = root.next_in_memory;
+ new_d->date_and_time = d->date_and_time;
root.next_in_memory = new_d;
if (directory)
{
@@ -1703,7 +1704,7 @@
root.level = 1;
root.flags = DIRECTORY_FLAG;
root.date_and_time.year = current_time->tm_year + 1900;
- root.date_and_time.month = current_time->tm_mon;
+ root.date_and_time.month = current_time->tm_mon + 1;
root.date_and_time.day = current_time->tm_mday;
root.date_and_time.hour = current_time->tm_hour;
root.date_and_time.minute = current_time->tm_min;