Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Feb 2008 02:37:02 -0800
From:      ithilgore <ithilgore.fbsd@gmail.com>
To:        freebsd-net@freebsd.org
Subject:   Re: question about change in inet_ntoa.c
Message-ID:  <47BFF74E.4010608@gmail.com>
In-Reply-To: <47BFF17B.5080205@gmail.com>
References:  <47BFF17B.5080205@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
ithilgore wrote:
>
> I was looking at the differences between some old FreeBSD code
> and the one of 7.0-RC1 and was wondering about a change
> in inet_ntoa.c
>
> /***** 7.0-RC1 **************/
>
>    sprintf(buf, "%d.%d.%d.%d",
>        ucp[0] & 0xff,
>        ucp[1] & 0xff,
>        ucp[2] & 0xff,
>        ucp[3] & 0xff);
>
>
> /****** 4.11-RELEASE ***********/
>
>
> static const char fmt[] = "%u.%u.%u%u";
> if ((size_t)snprintf(dst, size, fmt, src[0], src[1], src[2], src[3])
>    >= size) {
> ....
> ....
>
> Was there a specific purpose of changing the more easy and simple way
> of %u  instead of the combination of %d and and-ing with 0xff  ??
> It essentially gives the same result but increases overhead (i think) 
> in the more
> recent version.
>
>
I just noticed I made a mistake. The second code is libc's version of 
inet_ntoa.
But the question still counts. Why not use the plain simpler version of 
libc ?




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47BFF74E.4010608>