From e97e9d7edcfdf9549ecbf43fac1251f07f592ea5 Mon Sep 17 00:00:00 2001 From: Matthias Jaros Date: Mon, 6 Apr 2026 20:24:01 +0200 Subject: Replaced use of cut with java regex matcher --- .../java/com/it_jaros/network_scanner/ProgressBar.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/com/it_jaros/network_scanner/ProgressBar.java b/src/main/java/com/it_jaros/network_scanner/ProgressBar.java index 8126625..f9a5ed5 100644 --- a/src/main/java/com/it_jaros/network_scanner/ProgressBar.java +++ b/src/main/java/com/it_jaros/network_scanner/ProgressBar.java @@ -10,6 +10,8 @@ import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.ReentrantLock; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public class ProgressBar { @@ -21,18 +23,23 @@ public class ProgressBar { private static int getColumnWidth() { try { - Process process = new ProcessBuilder("sh", "-c", "stty size < /dev/tty | cut -d' ' -f2").start(); + Process process = new ProcessBuilder("sh", "-c", "stty size < /dev/tty").start(); try (BufferedReader reader = new BufferedReader( new InputStreamReader(process.getInputStream()))) { String line = reader.readLine(); if (line != null && !line.isBlank()) { - return Integer.parseInt(line.trim()); + Matcher matcher = Pattern.compile("^\\d+\\s+(\\d+)").matcher(line.trim()); + if (matcher.matches()) { + return Integer.parseInt(matcher.group(1)); + } } } - } catch (Exception ignored) {} + } catch (Exception ignored) { + // does not matter why it did not work + } - return 80; + return 120; } public void start() { -- cgit v1.3.1