question about change in inet_ntoa.c
ithilgore
ithilgore.fbsd at gmail.com
Sat Feb 23 00:41:04 UTC 2008
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 ?
More information about the freebsd-net
mailing list