Re: arithmetic about inet

From: tomas(at)tuxteam(dot)de
To: fanng yuan <fanngyuan(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: arithmetic about inet
Date: 2010-03-08 06:15:55
Message-ID: 20100308061555.GA19952@tomas
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

-----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-----

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Takahiro Itagaki 2010-03-08 06:31:44 Re: Visual Studio 2005, C-language function - avoiding hacks?
Previous Message Takahiro Itagaki 2010-03-08 06:05:21 Re: Visual Studio 2005, C-language function - avoiding hacks?