[winldr]
[reactos.git] / reactos / boot / freeldr / freeldr / windows / setupldr2.c
index e4e2731..3d577bb 100644 (file)
@@ -157,7 +157,10 @@ VOID LoadReactOSSetup2(VOID)
     CHAR  SystemPath[512], SearchPath[512];
     CHAR  FileName[512];
     CHAR  BootPath[512];
-    LPCSTR BootOptions;
+    LPCSTR LoadOptions, BootOptions;
+#if DBG
+    LPCSTR DbgOptions;
+#endif
     PVOID NtosBase = NULL, HalBase = NULL, KdComBase = NULL;
     BOOLEAN Status;
     ULONG i, ErrorLine;
@@ -204,7 +207,7 @@ VOID LoadReactOSSetup2(VOID)
         }
     }
 
-    /* Load options */
+    /* Get Load options - debug and non-debug */
     if (!InfFindFirstLine(InfHandle,
                           "SetupData",
                           "OsLoadOptions",
@@ -214,12 +217,30 @@ VOID LoadReactOSSetup2(VOID)
         return;
     }
 
-    if (!InfGetDataField (&InfContext, 1, &BootOptions))
+    if (!InfGetDataField (&InfContext, 1, &LoadOptions))
     {
         printf("Failed to get load options\n");
         return;
     }
 
+    BootOptions = LoadOptions;
+
+#if DBG
+    /* Get debug load options and use them */
+    if (InfFindFirstLine(InfHandle,
+                         "SetupData",
+                         "DbgOsLoadOptions",
+                         &InfContext))
+    {
+        if (!InfGetDataField(&InfContext, 1, &DbgOptions))
+            DbgOptions = "";
+        else
+            BootOptions = DbgOptions;
+    }
+#endif
+
+    DPRINTM(DPRINT_WINDOWS,"BootOptions: '%s'\n", BootOptions);
+
     SetupUiInitialize();
     UiDrawStatusText("");
     UiDrawStatusText("Detecting Hardware...");