You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2020/04/22 16:37:15 UTC
[tomcat] branch 7.0.x updated: Loop can be terminated after
condition is met
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/7.0.x by this push:
new 5dc6fd3 Loop can be terminated after condition is met
5dc6fd3 is described below
commit 5dc6fd36fbb7e938d9c25fabacb1ac97df408813
Author: Lars Grefer <la...@materna.de>
AuthorDate: Tue Apr 7 18:29:29 2020 +0200
Loop can be terminated after condition is met
---
java/org/apache/catalina/realm/RealmBase.java | 5 +++--
.../catalina/tribes/tipis/AbstractReplicatedMap.java | 14 ++++++++++----
.../apache/coyote/http11/TestAbstractHttp11Processor.java | 1 +
webapps/docs/changelog.xml | 4 ++++
4 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/java/org/apache/catalina/realm/RealmBase.java b/java/org/apache/catalina/realm/RealmBase.java
index 6601cf5..65eaa62 100644
--- a/java/org/apache/catalina/realm/RealmBase.java
+++ b/java/org/apache/catalina/realm/RealmBase.java
@@ -900,10 +900,11 @@ public abstract class RealmBase extends LifecycleMBeanBase implements GSSRealm {
}
boolean matched = false;
- for(int k=0; k < patterns.length && !matched; k++) {
+ for(int k = 0; k < patterns.length; k++) {
String pattern = patterns[k];
- if(pattern.equals("/")){
+ if (pattern.equals("/")) {
matched = true;
+ break;
}
}
if(matched) {
diff --git a/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java b/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
index c005319..bb76c9c 100644
--- a/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
+++ b/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
@@ -837,8 +837,11 @@ public abstract class AbstractReplicatedMap<K,V>
public boolean inSet(Member m, Member[] set) {
if ( set == null ) return false;
boolean result = false;
- for (int i=0; i<set.length && (!result); i++ )
- if ( m.equals(set[i]) ) result = true;
+ for (int i = 0; i < set.length; i++ )
+ if (m.equals(set[i])) {
+ result = true;
+ break;
+ }
return result;
}
@@ -846,8 +849,11 @@ public abstract class AbstractReplicatedMap<K,V>
ArrayList<Member> result = new ArrayList<Member>();
for (int i=0; i<set.length; i++ ) {
boolean include = true;
- for (int j=0; j<mbrs.length && include; j++ )
- if ( mbrs[j].equals(set[i]) ) include = false;
+ for (int j = 0; j < mbrs.length; j++ )
+ if (mbrs[j].equals(set[i])) {
+ include = false;
+ break;
+ }
if ( include ) result.add(set[i]);
}
return result.toArray(new Member[0]);
diff --git a/test/org/apache/coyote/http11/TestAbstractHttp11Processor.java b/test/org/apache/coyote/http11/TestAbstractHttp11Processor.java
index 5f518f2..6f71fab 100644
--- a/test/org/apache/coyote/http11/TestAbstractHttp11Processor.java
+++ b/test/org/apache/coyote/http11/TestAbstractHttp11Processor.java
@@ -645,6 +645,7 @@ public class TestAbstractHttp11Processor extends TomcatBaseTest {
for (Cookie cookie : req.getCookies()) {
if (cookie.getName().equalsIgnoreCase("something.that.should.not.leak")) {
bug55772RequestStateLeaked = true;
+ break;
}
}
}
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 187dab2..d4361d5 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -192,6 +192,10 @@
Refactor to use empty arrays with <code>Collections.toArray()</code>.
Pull request provided by Lars Grefer. (markt)
</scode>
+ <scode>
+ Refactor loops with a condition to exit as soon as the condition is met.
+ Pull request provided by Lars Grefer. (markt)
+ </scode>
</changelog>
</subsection>
</section>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org