Method: Subnets::Net4.new

Defined in:
ext/subnets/ext.c

.new(address, prefixlen) ⇒ Object



101
102
103
104
105
106
107
108
109
110
111
# File 'ext/subnets/ext.c', line 101

VALUE
method_net4_new(VALUE class, VALUE address, VALUE prefixlen) {
  net4_t net;
  net.address = RB_NUM2UINT(address);
  net.prefixlen = NUM2INT(prefixlen);
  if (!(net.prefixlen >= 0 && net.prefixlen <= 32)) {
    rb_raise(rb_eArgError, "prefixlen must be in range [0,32], was %d", net.prefixlen);
  }
  net.mask = mk_mask4(net.prefixlen);
  return net4_new(class, net);
}