diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-07-02 21:23:24 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-11-16 19:34:50 -0800 |
commit | d7256ca37afb78f351d3c2a944b4ed2f3a3b4cdf (patch) | |
tree | bf8e2093b59e9789a809858b6346b4efdace4b17 /winsup | |
parent | e6ea9f7f870c346a6f04c0b5d7ec49e5f2156164 (diff) | |
download | cygnal-d7256ca37afb78f351d3c2a944b4ed2f3a3b4cdf.tar.gz cygnal-d7256ca37afb78f351d3c2a944b4ed2f3a3b4cdf.tar.bz2 cygnal-d7256ca37afb78f351d3c2a944b4ed2f3a3b4cdf.zip |
Fix previous VT100 fix.
We must only set or clear the eat_newline flag if we output
something.
* winsup/cygwin/fhandler_console.cc
(fhandler_console::write_normal): Move the flag setting
code inside the if statement which performs output.
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/fhandler_console.cc | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc index e3d6f606b..4548b5edc 100644 --- a/winsup/cygwin/fhandler_console.cc +++ b/winsup/cygwin/fhandler_console.cc @@ -2103,19 +2103,19 @@ do_print: /* Stop here if we reached the conversion limit. */ if (len >= CONVERT_LIMIT) return found + trunc_buf.len; + /* If we output something and now x is at the left + * column, it means that we just output to the last column. + * In this case we can pretend we are still in the original + * line and swallow the next character if it is a newline, + * or a newline followed by a carriage return. + */ + { + int x, y; + cursor_get (&x, &y); + con.eat_newline = (x == 0); + } } - /* If we output something and now x is at the left - * column, it means that we just output to the last column. - * In this case we can pretend we are still in the original - * line and swallow the next character if it is a newline, - * or a newline followed by a carriage return. - */ - { - int x, y; - cursor_get (&x, &y); - con.eat_newline = (x == 0); - } /* If there's still something in the src buffer, but it's not a truncated multibyte sequence, then we stumbled over a control character or an invalid multibyte sequence. Print it. */ |