in reply to validateMask

Why does octet mod 8 have to be 0? Don't you like /23 subnets? You don't check to make sure that the octets consists of contiguous one bits followed by contiguous zeros - you can do that by checking to see if: (~$octet & -$octet & 255) == 0

Update:To clarify, the $net business tracks continuous one bits between octets, but not within a single octet.

Replies are listed 'Best First'.
Re: Re: validateMask
by idnopheq (Chaplain) on May 09, 2001 at 03:41 UTC
    Well, about the valid subnets I left out ... I guess I'm just prejudiced. HHOJ.

    But seriously, folks, I was going of the top of my head for masks, and missed some. I thought I was ~so~ crafty! As I reflected later while drooling on a table in a meeting, it would be better to test by powers of 2, maybe ... I still have crusty residue on the corners of my mouth.

    For contiguous ones followed by contiguous zeros, I do test, actually. That's what $net tracks ... if we get an octet other than 255 or 0, set it to one. If any of the subsequent octets have a value other than 0, it's no good.

    I think I like your solution better. I'll play w/ it.

    Thanks to all two of you who responded thus far!

    HTH
    --
    idnopheq
    Apply yourself to new problems without preparation, develop confidence in your ability to to meet situations as they arrise.