summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2014-03-10 17:33:17 +0000
committerChristopher Faylor <me@cgf.cx>2014-03-10 17:33:17 +0000
commitebfec243916a01167071282305dab39d8d45418d (patch)
treeab2e0bf00aeb7eb3389f4e2e31f9b96d564c986b
parentcda5aac102ba5161412731eae7f278781483876e (diff)
downloadcygnal-ebfec243916a01167071282305dab39d8d45418d.tar.gz
cygnal-ebfec243916a01167071282305dab39d8d45418d.tar.bz2
cygnal-ebfec243916a01167071282305dab39d8d45418d.zip
* fhandler_console.cc (dev_console::save_restore): Save entire line of current
cursor position.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/fhandler_console.cc3
2 files changed, 7 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index f96e0e1a6..0d3c5cc8b 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2014-03-10 Christopher Faylor <me.cygwin2014@cgf.cx>
+
+ * fhandler_console.cc (dev_console::save_restore): Save entire line of
+ current cursor position.
+
2014-03-09 Christopher Faylor <me.cygwin2014@cgf.cx>
* fhandler_console.cc (fhandler_console::save_restore): Save only until
diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc
index 53418edf1..ffbda4813 100644
--- a/winsup/cygwin/fhandler_console.cc
+++ b/winsup/cygwin/fhandler_console.cc
@@ -1457,8 +1457,9 @@ dev_console::save_restore (HANDLE h, char c)
if (c == 'h') /* save */
{
fillin (h);
- save_bufsize.Y = dwEnd.Y + 1; /* Assume starting from 0/0 */
save_bufsize.X = b.dwSize.X;
+ if ((save_bufsize.Y = dwEnd.Y + 2) > b.dwSize.Y)
+ save_bufsize.X = b.dwSize.Y;
if (save_buf)
cfree (save_buf);