]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Fix OutputString() in the console driver does not auto-scroll when you fill up the...
authorgikidy <gikidy@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 8 Jul 2009 07:31:30 +0000 (07:31 +0000)
committergikidy <gikidy@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 8 Jul 2009 07:31:30 +0000 (07:31 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8811 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c

index 3c2f45bb6b21b01892a18bfdb6215071fa7babd0..99711185a10042cadf30fd80adfb9d39caf997b7 100644 (file)
@@ -82,6 +82,7 @@ CHAR16 mSetModeString[]            = { ESC, '[', '=', '3', 'h', 0 };
 CHAR16 mSetAttributeString[]       = { ESC, '[', '0', 'm', ESC, '[', '4', '0', 'm', ESC, '[', '4', '0', 'm', 0 };\r
 CHAR16 mClearScreenString[]        = { ESC, '[', '2', 'J', 0 };\r
 CHAR16 mSetCursorPositionString[]  = { ESC, '[', '0', '0', ';', '0', '0', 'H', 0 };\r
+CHAR16 mCrLfString[]               = { CHAR_CARRIAGE_RETURN, CHAR_LINEFEED, CHAR_NULL };\r
 \r
 //\r
 // Body of the ConOut functions\r
@@ -309,6 +310,15 @@ TerminalConOutOutputString (
         Mode->CursorColumn = 0;\r
         if (Mode->CursorRow < (INT32) (MaxRow - 1)) {\r
           Mode->CursorRow++;\r
+        } else {\r
+          //\r
+          // Cursor has reached at MaxRow and MaxColumn,\r
+          // output carriage return and line feed to scroll screen\r
+          // when string is not control string.\r
+          //\r
+          if (!TerminalDevice->OutputEscChar) {\r
+            This->OutputString (This, mCrLfString);\r
+          }\r
         }\r
 \r
       }\r