Tom Haynes wrote:
> Robert Gordon wrote:
>>
>> I think this:
>>
>> 1460         } else {
>> 1461                 if ((addr & 0x00ffffff) == 0)
>> 1462                         mask = 0xff000000;
>> 1463                 else if ((addr & 0x0000ffff) == 0)
>> 1464                         mask = 0xffff0000;
>> 1465                 else if ((addr & 0x000000ff) == 0)
>> 1466                         mask = 0xffffff00;
>> 1467                 else
>> 1468                         mask = 0xffffffff;
>> 1469         }
>>
>> reads better as:
>>
>>             if (IN_CLASSA(addr))
>>                 mask =  IN_CLASSA_NET;
>>             else if (IN_CLASSB(addr))
>>                 mask =  IN_CLASSB_NET;
>>             else if (IN_CLASSC(addr))
>>                 mask =  IN_CLASSC_NET;
>>             else
>>                 mask = IP_HOST_MASK;
>
> Might read better, but appears not to work correctly:
>
>

...

>
>
>    if ((addr & IN_CLASSA_HOST) == 0) {
>        mask =    IN_CLASSA_NET;
>    } else if ((addr & IN_CLASSB_HOST) == 0) {
>        mask =    IN_CLASSB_NET;
>    } else if ((addr & IN_CLASSC_HOST) == 0) {
>        mask =    IN_CLASSC_NET;
>    } else {
>                mask = IN_CLASSE_NET;
>    }
>
>
> And that pans out via the attached test case...
>


So I've updated the webrev with the above change:


http://cr.opensolaris.org/~tdh/oneaddr/

I still need a second reviewer for this change....



Reply via email to