question about change in inet_ntoa.c
Giorgos Keramidas
keramida at ceid.upatras.gr
Tue Feb 26 04:18:18 UTC 2008
On 2008-02-23 02:37, ithilgore <ithilgore.fbsd at gmail.com> wrote:
>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 ?
I don't see ucp[] in RELENG_6, RELENG_7 or CURRENT. Where did you get
the version shown as `7.0-RC1' above?
More information about the freebsd-net
mailing list