parseIpv4 function

int? parseIpv4(
  1. String s
)

Parses IPv4 "a.b.c.d" into int (big-endian). Returns null if invalid.

Implementation

int? parseIpv4(String s) {
  final List<String> parts = s.split('.');
  if (parts.length != _ipv4OctetCount) return null;
  int address = 0;
  for (final String p in parts) {
    final int? n = int.tryParse(p);
    if (n == null || n < _ipv4OctetMin || n > _ipv4OctetMax) return null;
    address = (address << _bitsPerOctet) | n;
  }
  return address;
}