[NTOSKRNL]

Fix KdpPrompt():
- Don't attempt to return in the middle of the loop. It leads to keep the mouse disabled instead of reenabling it.
- Also, return a string length that actually matches what was written to the output buffer.

This fixes invalid behavior on RtlAssert when used with #if 0 moved to #if 1, or when Windows NTDLL is used in ReactOS.

CORE-10082 #resolve #comment Fixed with r68905
CORE-10083 #resolve #comment Fixed with r68905

svn path=/trunk/; revision=68905
This commit is contained in:
Pierre Schweitzer 2015-09-01 22:32:55 +00:00
parent 6dfa71c487
commit 9bd7b06448

View file

@ -3745,19 +3745,7 @@ KdpPrompt(IN LPSTR InString,
* DbgPrompt does not null terminate, but it does * DbgPrompt does not null terminate, but it does
*/ */
*(PCHAR)(OutString + i) = 0; *(PCHAR)(OutString + i) = 0;
break;
/* Print a new line */
KdPortPutByteEx(&SerialPortInfo, '\r');
KdPortPutByteEx(&SerialPortInfo, '\n');
/* Release spinlock */
KiReleaseSpinLock(&KdpSerialSpinLock);
/* Lower IRQL back */
KeLowerIrql(OldIrql);
/* Return the length */
return OutStringLength + 1;
} }
/* Write it back and print it to the log */ /* Write it back and print it to the log */
@ -3779,5 +3767,5 @@ KdpPrompt(IN LPSTR InString,
KeLowerIrql(OldIrql); KeLowerIrql(OldIrql);
/* Return the length */ /* Return the length */
return OutStringLength; return i;
} }