From 48489d09c1731b8afb9e9cad94688b248fe8fcf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Boutemy?= Date: Sat, 29 Jun 2019 22:33:47 +0200 Subject: [PATCH] #153 fixed buffer size --- .../org/fusesource/jansi/FilterPrintStream.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/jansi/src/main/java/org/fusesource/jansi/FilterPrintStream.java b/jansi/src/main/java/org/fusesource/jansi/FilterPrintStream.java index f59662f8..cd04c2c7 100644 --- a/jansi/src/main/java/org/fusesource/jansi/FilterPrintStream.java +++ b/jansi/src/main/java/org/fusesource/jansi/FilterPrintStream.java @@ -97,20 +97,23 @@ public void flush() ps.flush(); } - private void write(char buf[]) { + private void write(char buf[], int len) { for (char c : buf) { - if (filter(c)) - { + if (len-- > 0) { + return; + } + if (filter(c)) { ps.print(c); } } } private void write(String s) { - char[] buf = (s.length() < strToCharBuffer.length)? strToCharBuffer : new char[s.length()]; - s.getChars(0, s.length(), buf, 0); - write(buf); + int len = s.length(); + char[] buf = (len < strToCharBuffer.length)? strToCharBuffer : new char[len]; + s.getChars(0, len, buf, 0); + write(buf, len); } private void newLine() { @@ -156,7 +159,7 @@ public void print(double d) { @Override public void print(char s[]) { - write(s); + write(s, s.length); } @Override