aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/google/devtools/build/lib/util/io/LineWrappingAnsiTerminalWriter.java9
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;
}
}