Fix build with optimizations and one or two bugs - should have tested
with optimizations before committing :-/
Modified: trunk/reactos/ntoskrnl/dbg/kdb_cli.c
_____
Modified: trunk/reactos/ntoskrnl/dbg/kdb_cli.c
--- trunk/reactos/ntoskrnl/dbg/kdb_cli.c 2005-03-05 23:58:25 UTC
(rev 13842)
+++ trunk/reactos/ntoskrnl/dbg/kdb_cli.c 2005-03-06 00:20:32 UTC
(rev 13843)
@@ -873,7 +873,8 @@
PEPROCESS Process = NULL;
PULONG Esp;
PULONG Ebp;
- ULONG Eip, ul;
+ ULONG Eip;
+ ULONG ul = 0;
PCHAR State, pend, str1, str2;
STATIC CONST PCHAR ThreadStateToString[THREAD_STATE_MAX] =
{ "Initialized", "Ready",
"Running",
@@ -1224,14 +1225,15 @@
}
KdbpPrint("IDT Base: 0x%08x Limit: 0x%04x\n", Reg.Base,
Reg.Limit);
KdbpPrint(" Idx Type Seg. Sel. Offset DPL\n");
- for ( ; (i + sizeof(SegDesc) - 1) <= Reg.Limit; i += 8)
+ for (i = 0; (i + sizeof(SegDesc) - 1) <= Reg.Limit; i += 8)
{
if (!NT_SUCCESS(KdbpSafeReadMemory(SegDesc, (PVOID)(Reg.Base +
i), sizeof(SegDesc))))
{
KdbpPrint("Couldn't access memory at 0x%08x!\n", Reg.Base +
i);
return TRUE;
}
-
+
+ Dpl = ((SegDesc[1] >> 13) & 3);
if ((SegDesc[1] & 0x1f00) == 0x0500) /* Task gate */
SegType = "TASKGATE";
else if ((SegDesc[1] & 0x1fe0) == 0x0e00) /* 32 bit
Interrupt gate */
@@ -1242,6 +1244,8 @@
SegType = "TRAPGATE32";
else if ((SegDesc[1] & 0x1fe0) == 0x0700) /* 16 bit Trap
gate */
SegType = "TRAPGATE16";
+ else
+ SegType = "UNKNOWN";
if ((SegDesc[1] & (1 << 15)) == 0) /* not present */
{
@@ -1673,7 +1677,7 @@
STATIC CHAR Buffer[4096];
STATIC BOOLEAN TerminalInitialized = FALSE;
STATIC BOOLEAN TerminalReportsSize = TRUE;
- CHAR c;
+ CHAR c = '\0';
PCHAR p;
INT Length;
INT i;
Show replies by date