Author: tkreuzer
Date: Tue Jan 14 20:12:07 2014
New Revision: 61625
URL: http://svn.reactos.org/svn/reactos?rev=61625&view=rev
Log:
[FREELDR] Modify UiMessageBox so that it allows to pass a format string and parameters. Make use of it in WinLdrLoadBootDrivers to show the file that couldn't be loaded.
Modified:
trunk/reactos/boot/freeldr/freeldr/include/ui.h
trunk/reactos/boot/freeldr/freeldr/ui/ui.c
trunk/reactos/boot/freeldr/freeldr/windows/winldr.c
trunk/reactos/boot/freeldr/freeldr/windows/wlregistry.c
Modified: trunk/reactos/boot/freeldr/freeldr/include/ui.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/inclu…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/include/ui.h [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/include/ui.h [iso-8859-1] Tue Jan 14 20:12:07 2014
@@ -66,7 +66,7 @@
VOID UiDrawStatusText(PCSTR StatusText); // Draws text at the very bottom line on the screen
VOID UiUpdateDateTime(VOID); // Updates the date and time
VOID UiInfoBox(PCSTR MessageText); // Displays a info box on the screen
-VOID UiMessageBox(PCSTR MessageText); // Displays a message box on the screen with an ok button
+VOID UiMessageBox(PCSTR Format, ...); // Displays a message box on the screen with an ok button
VOID UiMessageBoxCritical(PCSTR MessageText); // Displays a message box on the screen with an ok button using no system resources
VOID UiDrawProgressBarCenter(ULONG Position, ULONG Range, PCHAR ProgressText); // Draws the progress bar showing nPos percent filled
VOID UiDrawProgressBar(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, ULONG Position, ULONG Range, PCHAR ProgressText); // Draws the progress bar showing nPos percent filled
Modified: trunk/reactos/boot/freeldr/freeldr/ui/ui.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/ui/ui…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/ui/ui.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/ui/ui.c [iso-8859-1] Tue Jan 14 20:12:07 2014
@@ -344,9 +344,15 @@
UiDrawCenteredText(Left, Top, Right, Bottom, MessageText, ATTR(UiTextColor, UiMenuBgColor));
}
-VOID UiMessageBox(PCSTR MessageText)
-{
- UiVtbl.MessageBox(MessageText);
+VOID UiMessageBox(PCSTR Format, ...)
+{
+ CHAR Buffer[256];
+ va_list ap;
+
+ va_start(ap, Format);
+ vsnprintf(Buffer, sizeof(Buffer) - sizeof(CHAR), Format, ap);
+ UiVtbl.MessageBox(Buffer);
+ va_end(ap);
}
VOID UiMessageBoxCritical(PCSTR MessageText)
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 14 20:12:07 2014
@@ -325,7 +325,8 @@
//FIXME: Maybe remove it from the list and try to continue?
if (!Status)
{
- UiMessageBox("Can't load boot driver!");
+ ERR("Can't load boot driver '%wZ'!", &BootDriver->FilePath);
+ UiMessageBox("Can't load boot driver '%wZ'!", &BootDriver->FilePath);
return FALSE;
}
Modified: trunk/reactos/boot/freeldr/freeldr/windows/wlregistry.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/windo…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/windows/wlregistry.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/windows/wlregistry.c [iso-8859-1] Tue Jan 14 20:12:07 2014
@@ -538,9 +538,9 @@
/* Get the Driver's Name */
ValueSize = sizeof(ServiceName);
rc = RegEnumKey(hServiceKey, Index, ServiceName, &ValueSize);
- //TRACE_CH(REACTOS, "RegEnumKey(): rc %d\n", (int)rc);
-
- /* Makre sure it's valid, and check if we're done */
+ TRACE("RegEnumKey(): rc %d\n", (int)rc);
+
+ /* Make sure it's valid, and check if we're done */
if (rc == ERROR_NO_MORE_ITEMS)
break;
if (rc != ERROR_SUCCESS)
@@ -627,7 +627,7 @@
FrLdrHeapFree(GroupNameBuffer, TAG_WLDR_NAME);
return;
}
- //TRACE_CH(REACTOS, "Service %d: '%S'\n", (int)Index, ServiceName);
+ TRACE("Service %d: '%S'\n", (int)Index, ServiceName);
/* open driver Key */
rc = RegOpenKey(hServiceKey, ServiceName, &hDriverKey);
Author: tkreuzer
Date: Tue Jan 14 19:41:01 2014
New Revision: 61624
URL: http://svn.reactos.org/svn/reactos?rev=61624&view=rev
Log:
[RTL]
Fix a nasty bug in RtlQueryRegistryValues, that caused memory corruption when the the key name or data had the "wrong" length.
Modified:
trunk/reactos/lib/rtl/registry.c
Modified: trunk/reactos/lib/rtl/registry.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/registry.c?rev=616…
==============================================================================
--- trunk/reactos/lib/rtl/registry.c [iso-8859-1] (original)
+++ trunk/reactos/lib/rtl/registry.c [iso-8859-1] Tue Jan 14 19:41:01 2014
@@ -211,7 +211,7 @@
/* Check if we have space to copy the data */
RequiredLength = KeyValueInfo->NameLength + sizeof(UNICODE_NULL);
- if (SpareLength < RequiredLength)
+ if ((SpareData > DataEnd) || (SpareLength < RequiredLength))
{
/* Fail and return the missing length */
*InfoSize = (ULONG)(SpareData - (PCHAR)KeyValueInfo) + RequiredLength;
Author: cwittich
Date: Mon Jan 13 18:43:14 2014
New Revision: 61619
URL: http://svn.reactos.org/svn/reactos?rev=61619&view=rev
Log:
[usetup]
fix layout issue in german translation
Modified:
trunk/reactos/base/setup/usetup/lang/de-DE.h
Modified: trunk/reactos/base/setup/usetup/lang/de-DE.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/de-…
==============================================================================
--- trunk/reactos/base/setup/usetup/lang/de-DE.h [iso-8859-1] (original)
+++ trunk/reactos/base/setup/usetup/lang/de-DE.h [iso-8859-1] Mon Jan 13 18:43:14 2014
@@ -1351,7 +1351,7 @@
"\n"
"Partitionen zu erstellen/lschen kann die Partitionstabelle zerstren.\n"
"\n"
- " \x07 Drcken Sie F3, um das Setup zu beenden."
+ " \x07 Drcken Sie F3, um das Setup zu beenden.\n"
" \x07 Drcken Sie ENTER, um das Setup Fortzusetzen.",
"F3 = Beenden ENTER = Fortsetzen"
},