diff options
| author | Robert Greenwalt <rgreenwalt@google.com> | 2011-02-11 17:01:02 -0800 |
|---|---|---|
| committer | Robert Greenwalt <rgreenwalt@google.com> | 2011-02-14 14:32:33 -0800 |
| commit | b979f79158f9c470fa09ff3b96d72db274262201 (patch) | |
| tree | bdad85179cdaef4d411b4b7d333c4c03e82682f8 /core/java/android/net/LinkAddress.java | |
| parent | b495eb90cfc62c9fe393e70d2dc9766c81b3a880 (diff) | |
Remove more use of netmask
bug:2542681
Change-Id: Ifd75672739ee8262d4df22afd8173e4f3f67260d
Diffstat (limited to 'core/java/android/net/LinkAddress.java')
| -rw-r--r-- | core/java/android/net/LinkAddress.java | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/core/java/android/net/LinkAddress.java b/core/java/android/net/LinkAddress.java index 3f03a2a875d5..9c36b1276526 100644 --- a/core/java/android/net/LinkAddress.java +++ b/core/java/android/net/LinkAddress.java @@ -19,6 +19,7 @@ package android.net; import android.os.Parcel; import android.os.Parcelable; +import java.net.Inet4Address; import java.net.InetAddress; import java.net.InterfaceAddress; import java.net.UnknownHostException; @@ -38,12 +39,13 @@ public class LinkAddress implements Parcelable { */ private final int prefixLength; - public LinkAddress(InetAddress address, InetAddress mask) { - this.address = address; - this.prefixLength = computeprefixLength(mask); - } - public LinkAddress(InetAddress address, int prefixLength) { + if (address == null || prefixLength < 0 || + ((address instanceof Inet4Address) && prefixLength > 32) || + (prefixLength > 128)) { + throw new IllegalArgumentException("Bad LinkAddress params " + address + + prefixLength); + } this.address = address; this.prefixLength = prefixLength; } @@ -53,18 +55,6 @@ public class LinkAddress implements Parcelable { this.prefixLength = interfaceAddress.getNetworkPrefixLength(); } - private static int computeprefixLength(InetAddress mask) { - int count = 0; - for (byte b : mask.getAddress()) { - for (int i = 0; i < 8; ++i) { - if ((b & (1 << i)) != 0) { - ++count; - } - } - } - return count; - } - @Override public String toString() { return (address == null ? "" : (address.getHostAddress() + "/" + prefixLength)); |
