File tree Expand file tree Collapse file tree 5 files changed +11
-5
lines changed
main/java/com/github/maltalex/ineter/range
test/java/com/github/maltalex/ineter/range Expand file tree Collapse file tree 5 files changed +11
-5
lines changed Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ apply plugin: 'signing'
33
44group = ' com.github.maltalex'
55archivesBaseName = ' ineter'
6- version = ' 0.3.0 '
6+ version = ' 0.3.1 '
77
88task javadocJar (type : Jar ) {
99 classifier = ' javadoc'
Original file line number Diff line number Diff line change @@ -224,6 +224,9 @@ public List<IPv4Range> withRemoved(Collection<IPv4Range> ranges) {
224224 List <IPv4Range > merged = IPv4Range .merge (ranges );
225225 ret .add (this );
226226 for (IPv4Range toRemove : merged ) {
227+ if (ret .isEmpty ()) {
228+ break ;
229+ }
227230 IPv4Range next = ret .remove (ret .size () - 1 );
228231 // a bit faster than calling withRemoved() one range at a time
229232 if (toRemove .getFirst ().compareTo (next .getFirst ()) > 0 ) {
Original file line number Diff line number Diff line change @@ -253,6 +253,9 @@ public List<IPv6Range> withRemoved(Collection<IPv6Range> ranges) {
253253 List <IPv6Range > merged = IPv6Range .merge (ranges );
254254 ret .add (this );
255255 for (IPv6Range toRemove : merged ) {
256+ if (ret .isEmpty ()) {
257+ break ;
258+ }
256259 IPv6Range next = ret .remove (ret .size () - 1 );
257260 // a bit faster than calling withRemoved() one range at a time
258261 if (toRemove .getFirst ().compareTo (next .getFirst ()) > 0 ) {
Original file line number Diff line number Diff line change @@ -393,8 +393,8 @@ void withRemovedCollectionEmpty() {
393393 IPv4Range .parse ("10.0.0.0/24" ).withRemoved (Arrays .asList (IPv4Range .parse ("10.0.0.0/24" ))));
394394 assertEquals (emptyList (),
395395 IPv4Range .parse ("10.0.0.0/24" ).withRemoved (Arrays .asList (IPv4Range .parse ("0.0.0.0/0" ))));
396- assertEquals (emptyList (),
397- IPv4Range . parse ( "10.0.0.0/24" ). withRemoved (Arrays .asList (IPv4Range .parse ("9.0.0.0-11.0.0.0" ))));
396+ assertEquals (emptyList (), IPv4Range . parse ( "10.0.0.0/24" )
397+ . withRemoved (Arrays .asList (IPv4Range .parse ("9.0.0.0-11.0.0.0" ), IPv4Range . parse ( "13.0.0.0/24 " ))));
398398 }
399399
400400 @ ParameterizedTest
Original file line number Diff line number Diff line change @@ -388,8 +388,8 @@ void withRemovedCollectionEmpty() {
388388 assertEquals (emptyList (),
389389 IPv6Range .parse ("1234::/16" ).withRemoved (Arrays .asList (IPv6Range .parse ("1234::/16" ))));
390390 assertEquals (emptyList (), IPv6Range .parse ("1234::/16" ).withRemoved (Arrays .asList (IPv6Range .parse ("::/0" ))));
391- assertEquals (emptyList (),
392- IPv6Range . parse ( "1234::/16" ). withRemoved (Arrays .asList (IPv6Range .parse ("1230::-1240::" ))));
391+ assertEquals (emptyList (), IPv6Range . parse ( "1234::/16" )
392+ . withRemoved (Arrays .asList (IPv6Range .parse ("1230::-1240::" ), IPv6Range . parse ( "2222::0/16 " ))));
393393 }
394394
395395 @ ParameterizedTest
You can’t perform that action at this time.
0 commit comments