[CONSRV] Simplify parts of code in the line-input module.
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 8 Feb 2020 23:32:53 +0000 (00:32 +0100)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 8 Feb 2020 23:38:32 +0000 (00:38 +0100)
win32ss/user/winsrv/consrv/lineinput.c

index 20d66c6..2aab092 100644 (file)
@@ -106,11 +106,14 @@ LineInputEdit(PCONSRV_CONSOLE Console,
 
     if (GetConsoleInputBufferMode(Console) & ENABLE_ECHO_INPUT)
     {
-        for (i = Pos; i < NewSize; i++)
+        if (Pos < NewSize)
         {
-            TermWriteStream(Console, ActiveBuffer, &Console->LineBuffer[i], 1, TRUE);
+            TermWriteStream(Console, ActiveBuffer,
+                            &Console->LineBuffer[Pos],
+                            NewSize - Pos,
+                            TRUE);
         }
-        for (; i < Console->LineSize; i++)
+        for (i = NewSize; i < Console->LineSize; ++i)
         {
             TermWriteStream(Console, ActiveBuffer, L" ", 1, TRUE);
         }
@@ -431,12 +434,10 @@ LineInputKeyDown(PCONSRV_CONSOLE Console,
 
         LineInputSetPos(Console, Console->LineSize);
         Console->LineBuffer[Console->LineSize++] = L'\r';
-        if (GetConsoleInputBufferMode(Console) & ENABLE_ECHO_INPUT)
+        if ((GetType(Console->ActiveBuffer) == TEXTMODE_BUFFER) &&
+            (GetConsoleInputBufferMode(Console) & ENABLE_ECHO_INPUT))
         {
-            if (GetType(Console->ActiveBuffer) == TEXTMODE_BUFFER)
-            {
-                TermWriteStream(Console, (PTEXTMODE_SCREEN_BUFFER)(Console->ActiveBuffer), L"\r", 1, TRUE);
-            }
+            TermWriteStream(Console, (PTEXTMODE_SCREEN_BUFFER)(Console->ActiveBuffer), L"\r", 1, TRUE);
         }
 
         /*
@@ -448,12 +449,10 @@ LineInputKeyDown(PCONSRV_CONSOLE Console,
             Console->LineSize < Console->LineMaxSize)
         {
             Console->LineBuffer[Console->LineSize++] = L'\n';
-            if (GetConsoleInputBufferMode(Console) & ENABLE_ECHO_INPUT)
+            if ((GetType(Console->ActiveBuffer) == TEXTMODE_BUFFER) &&
+                (GetConsoleInputBufferMode(Console) & ENABLE_ECHO_INPUT))
             {
-                if (GetType(Console->ActiveBuffer) == TEXTMODE_BUFFER)
-                {
-                    TermWriteStream(Console, (PTEXTMODE_SCREEN_BUFFER)(Console->ActiveBuffer), L"\n", 1, TRUE);
-                }
+                TermWriteStream(Console, (PTEXTMODE_SCREEN_BUFFER)(Console->ActiveBuffer), L"\n", 1, TRUE);
             }
         }
         Console->LineComplete = TRUE;