question about change in inet_ntoa.c

ithilgore ithilgore.fbsd at gmail.com
Sat Feb 23 00:16:13 UTC 2008


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.




More information about the freebsd-net mailing list