summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/blinkt/openvpn/core/CIDRIP.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/de/blinkt/openvpn/core/CIDRIP.java')
-rw-r--r--app/src/main/java/de/blinkt/openvpn/core/CIDRIP.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/app/src/main/java/de/blinkt/openvpn/core/CIDRIP.java b/app/src/main/java/de/blinkt/openvpn/core/CIDRIP.java
index 799c68c9..ca3d1161 100644
--- a/app/src/main/java/de/blinkt/openvpn/core/CIDRIP.java
+++ b/app/src/main/java/de/blinkt/openvpn/core/CIDRIP.java
@@ -14,6 +14,11 @@ class CIDRIP {
public CIDRIP(String ip, String mask) {
mIp = ip;
+ len = calculateLenFromMask(mask);
+
+ }
+
+ public static int calculateLenFromMask(String mask) {
long netmask = getInt(mask);
// Add 33. bit to ensure the loop terminates
@@ -24,6 +29,7 @@ class CIDRIP {
lenZeros++;
netmask = netmask >> 1;
}
+ int len;
// Check if rest of netmask is only 1s
if (netmask != (0x1ffffffffl >> lenZeros)) {
// Asume no CIDR, set /32
@@ -31,7 +37,7 @@ class CIDRIP {
} else {
len = 32 - lenZeros;
}
-
+ return len;
}
public CIDRIP(String address, int prefix_length) {