diff options
Diffstat (limited to 'src/main/java/com')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/util/io/LineWrappingAnsiTerminalWriter.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/util/io/LineWrappingAnsiTerminalWriter.java b/src/main/java/com/google/devtools/build/lib/util/io/LineWrappingAnsiTerminalWriter.java index 66c6d3b4c2..fa13fd6453 100644 --- a/src/main/java/com/google/devtools/build/lib/util/io/LineWrappingAnsiTerminalWriter.java +++ b/src/main/java/com/google/devtools/build/lib/util/io/LineWrappingAnsiTerminalWriter.java @@ -48,13 +48,16 @@ public class LineWrappingAnsiTerminalWriter implements AnsiTerminalWriter { if (c == '\n') { terminalWriter.newline(); position = 0; - } else if (position + 2 < width) { + } else if (position + 1 < width) { terminalWriter.append(Character.toString(c)); position++; } else { - terminalWriter.append(new String(new char[] {c, continuationCharacter})); + // The last usable character of the line was already been written, + // hence we have to start a continuation before writing the symbol. + terminalWriter.append(Character.toString(continuationCharacter)); terminalWriter.newline(); - position = 0; + terminalWriter.append(Character.toString(c)); + position = 1; } } |