Author: hbelusca Date: Fri Nov 23 22:39:12 2012 New Revision: 57752
URL: http://svn.reactos.org/svn/reactos?rev=57752&view=rev Log: [FREELDR] When filling LoadOptions, strip the '/' commutator symbol in front of each option. Now we fully comply with Windows when holding LoaderBlock->LoadOptions, and the content of the registry value SystemStartOptions under HKLM\CurrentControlSet\Control display the options without their / symbol.
[WIN32K] Now, the SystemStartOptions value doesn't contain / anymore.
Modified: trunk/reactos/boot/freeldr/freeldr/windows/winldr.c trunk/reactos/win32ss/user/ntuser/display.c
Modified: trunk/reactos/boot/freeldr/freeldr/windows/winldr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/window... ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/windows/winldr.c [iso-8859-1] (original) +++ trunk/reactos/boot/freeldr/freeldr/windows/winldr.c [iso-8859-1] Fri Nov 23 22:39:12 2012 @@ -85,9 +85,10 @@ //CHAR SystemRoot[] = "\WINNT\"; //CHAR ArcBoot[] = "multi(0)disk(0)rdisk(0)partition(1)";
- CHAR HalPath[] = "\"; - CHAR ArcBoot[256]; - CHAR MiscFiles[256]; + LPSTR LoadOptions, NewLoadOptions; + CHAR HalPath[] = "\"; + CHAR ArcBoot[256]; + CHAR MiscFiles[256]; ULONG i; ULONG_PTR PathSeparator; PLOADER_PARAMETER_EXTENSION Extension; @@ -120,9 +121,18 @@ strncpy(LoaderBlock->NtHalPathName, HalPath, MAX_PATH); LoaderBlock->NtHalPathName = PaToVa(LoaderBlock->NtHalPathName);
- /* Fill load options */ - LoaderBlock->LoadOptions = WinLdrSystemBlock->LoadOptions; + /* Fill LoadOptions and strip the '/' commutator symbol in front of each option */ + NewLoadOptions = LoadOptions = LoaderBlock->LoadOptions = WinLdrSystemBlock->LoadOptions; strncpy(LoaderBlock->LoadOptions, Options, MAX_OPTIONS_LENGTH); + + do + { + while (*LoadOptions == '/') + ++LoadOptions; + + *NewLoadOptions++ = *LoadOptions; + } while (*LoadOptions++); + LoaderBlock->LoadOptions = PaToVa(LoaderBlock->LoadOptions);
/* Arc devices */ @@ -136,8 +146,8 @@
/* Allocate the ARC structure */ ArcDiskSig = HeapAllocate(FrLdrDefaultHeap, - sizeof(ARC_DISK_SIGNATURE_EX), - 'giSD'); + sizeof(ARC_DISK_SIGNATURE_EX), + 'giSD');
/* Copy the data over */ ArcDiskSig->DiskSignature.Signature = reactos_arc_disk_info[i].Signature;
Modified: trunk/reactos/win32ss/user/ntuser/display.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/display... ============================================================================== --- trunk/reactos/win32ss/user/ntuser/display.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/display.c [iso-8859-1] Fri Nov 23 22:39:12 2012 @@ -173,7 +173,7 @@ if (NT_SUCCESS(Status)) { /* Check if VGA mode is requested. */ - if (wcsstr(awcBuffer, L"/BASEVIDEO") != 0) + if (wcsstr(awcBuffer, L"BASEVIDEO") != 0) { ERR("VGA mode requested.\n"); gbBaseVideo = TRUE;