Author: fireball
Date: Mon Oct 2 01:48:05 2006
New Revision: 24356
URL:
http://svn.reactos.org/svn/reactos?rev=24356&view=rev
Log:
- Add a check to the boot.ini-changing code, to prevent creation of a new ReactOS entry
after each installation.
Modified:
trunk/reactos/base/setup/usetup/bootsup.c
Modified: trunk/reactos/base/setup/usetup/bootsup.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/bootsup.…
==============================================================================
--- trunk/reactos/base/setup/usetup/bootsup.c (original)
+++ trunk/reactos/base/setup/usetup/bootsup.c Mon Oct 2 01:48:05 2006
@@ -1665,6 +1665,7 @@
PINICACHESECTION Section = NULL;
NTSTATUS Status;
ULONG FileAttribute;
+ PWCHAR OldValue = NULL;
RtlInitUnicodeString(&Name,
BootIniPath);
@@ -1685,11 +1686,20 @@
return(STATUS_UNSUCCESSFUL);
}
- IniCacheInsertKey(Section,
+ /* Check - maybe record already exists */
+ Status = IniCacheGetKey(Section,
+ EntryName,
+ &OldValue);
+
+ /* If either key was not found, or contains something else - add new one */
+ if (!NT_SUCCESS(Status) || wcscmp(OldValue, EntryValue))
+ {
+ IniCacheInsertKey(Section,
NULL,
INSERT_LAST,
EntryName,
EntryValue);
+ }
Status = UnprotectBootIni(BootIniPath,
&FileAttribute);