You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by bo...@apache.org on 2008/07/18 14:37:35 UTC
svn commit: r677887 - in /ant/core/trunk: CONTRIBUTORS contributors.xml
src/main/org/apache/tools/ant/taskdefs/optional/net/RExecTask.java
src/main/org/apache/tools/ant/taskdefs/optional/net/TelnetTask.java
Author: bodewig
Date: Fri Jul 18 05:37:34 2008
New Revision: 677887
URL: http://svn.apache.org/viewvc?rev=677887&view=rev
Log:
avoid excessive StringBuffer.toString calls while waiting for a response string. PR 34464. Based on patch by Adam Blinkinsop.
Modified:
ant/core/trunk/CONTRIBUTORS
ant/core/trunk/contributors.xml
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/net/RExecTask.java
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/net/TelnetTask.java
Modified: ant/core/trunk/CONTRIBUTORS
URL: http://svn.apache.org/viewvc/ant/core/trunk/CONTRIBUTORS?rev=677887&r1=677886&r2=677887&view=diff
==============================================================================
Binary files - no diff available.
Modified: ant/core/trunk/contributors.xml
URL: http://svn.apache.org/viewvc/ant/core/trunk/contributors.xml?rev=677887&r1=677886&r2=677887&view=diff
==============================================================================
--- ant/core/trunk/contributors.xml (original)
+++ ant/core/trunk/contributors.xml Fri Jul 18 05:37:34 2008
@@ -31,6 +31,10 @@
These are some of the many people who have helped Ant become so successful.
</introduction>
<name>
+ <first>Adam</first>
+ <last>Blinkinsop</last>
+ </name>
+ <name>
<first>Aleksandr</first>
<last>Ishutin</last>
</name>
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/net/RExecTask.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/net/RExecTask.java?rev=677887&r1=677886&r2=677887&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/net/RExecTask.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/net/RExecTask.java Fri Jul 18 05:37:34 2008
@@ -203,14 +203,17 @@
InputStream is = this.getInputStream();
try {
StringBuffer sb = new StringBuffer();
+ int windowStart = -s.length();
if (timeout == null || timeout.intValue() == 0) {
- while (sb.toString().indexOf(s) == -1) {
+ while (windowStart++ < 0
+ || !sb.substring(windowStart).equals(s)) {
sb.append((char) is.read());
}
} else {
Calendar endTime = Calendar.getInstance();
endTime.add(Calendar.SECOND, timeout.intValue());
- while (sb.toString().indexOf(s) == -1) {
+ while (windowStart++ < 0
+ || !sb.substring(windowStart).equals(s)) {
while (Calendar.getInstance().before(endTime)
&& is.available() == 0) {
Thread.sleep(PAUSE_TIME);
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/net/TelnetTask.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/net/TelnetTask.java?rev=677887&r1=677886&r2=677887&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/net/TelnetTask.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/net/TelnetTask.java Fri Jul 18 05:37:34 2008
@@ -340,14 +340,17 @@
InputStream is = this.getInputStream();
try {
StringBuffer sb = new StringBuffer();
+ int windowStart = -s.length();
if (timeout == null || timeout.intValue() == 0) {
- while (sb.toString().indexOf(s) == -1) {
+ while (windowStart++ < 0
+ || !sb.substring(windowStart).equals(s)) {
sb.append((char) is.read());
}
} else {
Calendar endTime = Calendar.getInstance();
endTime.add(Calendar.SECOND, timeout.intValue());
- while (sb.toString().indexOf(s) == -1) {
+ while (windowStart++ < 0
+ || !sb.substring(windowStart).equals(s)) {
while (Calendar.getInstance().before(endTime)
&& is.available() == 0) {
Thread.sleep(WAIT_INTERVAL);
Re: svn commit: r677887 - in /ant/core/trunk: CONTRIBUTORS contributors.xml src/main/org/apache/tools/ant/taskdefs/optional/net/RExecTask.java src/main/org/apache/tools/ant/taskdefs/optional/net/TelnetTask.java
Posted by Stefan Bodewig <bo...@apache.org>.
On Fri, 18 Jul 2008, <bo...@apache.org> wrote:
> avoid excessive StringBuffer.toString calls while waiting for a
> response string. PR 34464. Based on patch by Adam Blinkinsop.
I'd appreciate it if anybody who's still running telnet or even rexec
could double check that the patch didn't breal anything. It looks
fine but I haven't run any sort of "integration test" here.
Stefan
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org