-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Mon, Mar 08, 2010 at 09:47:00AM +0800, fanng yuan wrote:
> I got some point from others.I already red and debug network.c . Now I now
> the basic logic behind that. But still I'm confused by arithmetic. I find
> some comments on that , I need some one's help.
>
> /*
> * int
> * bitncmp(l, r, n)
> * compare bit masks l and r, for n bits.
> * return:
> * -1, 1, or 0 in the libc tradition.
> * note:
> * network byte order assumed. this means 192.5.5.240/28 has
> * 0x11110000 in its fourth octet.
> * author:
> * Paul Vixie (ISC), June 1996
> */
>
> Why we finish it in this way. Can you help me?
Sorry, I don't understand your question. Are you asking: why this return
value?
If that is your question then: Paul Vixie is referring to the function
strcmp() from libc: it returns an integer less than 0 if the first string
is "less" than the second, 0 if both are equal and an integer greater
than 0 if the second string is "greater" than the first.
This is a very handy convention, which you can see at work in Kerninghan
& Ritchie's classical "Programming in C".
Now I hope I understood your question right :-)
Regards
- -- tomás
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFLlJYbBcgs9XrR2kYRAgebAJ9f9VtjwfYjBUtKvxG4iFQCqisnzACfdBe2
y+giKF0WENVEXgbhCPtYs2Q=
=uLJS
-----END PGP SIGNATURE-----