Diff for /libelwix/src/net.c between versions 1.2.2.2 and 1.2.2.3

version 1.2.2.2, 2013/06/03 11:48:26 version 1.2.2.3, 2013/06/03 13:59:26
Line 300  e_innet(netaddr_t * __restrict net, inaddr_t * __restr Line 300  e_innet(netaddr_t * __restrict net, inaddr_t * __restr
   
         switch (net->addr.sa.sa_family) {          switch (net->addr.sa.sa_family) {
                 case AF_INET:                  case AF_INET:
                        ret = net->addr.sin.sin_addr.s_addr & net->mask.in.s_addr;                        for (i = 0; i < sizeof(struct in_addr); i++) {
                        ret -= addr->in.s_addr & net->mask.in.s_addr;                                ret = ((caddr_t) &net->addr.sin.sin_addr.s_addr)[i] & 
                                         net->mask.in.s4_addr[i];
                                 ret -= addr->in.s4_addr[i] & net->mask.in.s4_addr[i];
                                 if (ret)
                                         break;
                         }
                         break;                          break;
                 case AF_INET6:                  case AF_INET6:
                         for (i = 0; i < sizeof(struct in6_addr); i++) {                          for (i = 0; i < sizeof(struct in6_addr); i++) {
                                ret = net->addr.sin6.sin6_addr.s6_addr[i] & net->mask.in6.s6_addr[i];                                ret = net->addr.sin6.sin6_addr.s6_addr[i] & 
                                         net->mask.in6.s6_addr[i];
                                 ret -= addr->in6.s6_addr[i] & net->mask.in6.s6_addr[i];                                  ret -= addr->in6.s6_addr[i] & net->mask.in6.s6_addr[i];
                                 if (ret)                                  if (ret)
                                         break;                                          break;

Removed from v.1.2.2.2  
changed lines
  Added in v.1.2.2.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>