-----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----- -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers