diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/fhandler_console.cc | 3 |
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); |