diff options
author | Kenny Root <kenny@the-b.org> | 2009-09-13 06:40:31 +0000 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2009-09-13 06:40:31 +0000 |
commit | 5a4d66dea8ea03f1a6139a9b68033ff39df32435 (patch) | |
tree | aca081681ad67755e08c7e836c196ce6ecd0e905 /src/org | |
parent | 27a55e18e3f1d7f84077baeb6d20be5e8657a18e (diff) | |
download | connectbot-5a4d66dea8ea03f1a6139a9b68033ff39df32435.tar.gz connectbot-5a4d66dea8ea03f1a6139a9b68033ff39df32435.tar.bz2 connectbot-5a4d66dea8ea03f1a6139a9b68033ff39df32435.zip |
Use Tupaz's multiline URL scanner
git-svn-id: https://connectbot.googlecode.com/svn/trunk/connectbot@413 df292f66-193f-0410-a5fc-6d59da041ff2
Diffstat (limited to 'src/org')
-rw-r--r-- | src/org/connectbot/service/TerminalBridge.java | 14 |
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; } |