summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-07-02 21:23:24 -0700
committerKaz Kylheku <kaz@kylheku.com>2017-11-16 19:34:50 -0800
commitd7256ca37afb78f351d3c2a944b4ed2f3a3b4cdf (patch)
treebf8e2093b59e9789a809858b6346b4efdace4b17
parente6ea9f7f870c346a6f04c0b5d7ec49e5f2156164 (diff)
downloadcygnal-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.
-rw-r--r--winsup/cygwin/fhandler_console.cc22
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. */