aboutsummaryrefslogtreecommitdiffstats
path: root/src/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/org')
-rw-r--r--src/org/connectbot/service/TerminalBridge.java14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/org/connectbot/service/TerminalBridge.java b/src/org/connectbot/service/TerminalBridge.java
index 6164791..ffc8f7b 100644
--- a/src/org/connectbot/service/TerminalBridge.java
+++ b/src/org/connectbot/service/TerminalBridge.java
@@ -1331,12 +1331,14 @@ public class TerminalBridge implements VDUDisplay, OnKeyListener {
if (urlPattern == null)
urlPattern = Pattern.compile(urlRegex);
- for (int l = 0; l < buffer.height; l++) {
- Matcher urlMatcher = urlPattern.matcher(
- new String(buffer.charArray[buffer.windowBase + l]));
- while (urlMatcher.find())
- urls.add(urlMatcher.group());
- }
+ char[] visibleBuffer = new char[buffer.height * buffer.width];
+ for (int l = 0; l < buffer.height; l++)
+ System.arraycopy(buffer.charArray[buffer.windowBase + l], 0,
+ visibleBuffer, l * buffer.width, buffer.width);
+
+ Matcher urlMatcher = urlPattern.matcher(new String(visibleBuffer));
+ while (urlMatcher.find())
+ urls.add(urlMatcher.group());
return urls;
}