svn commit: r329237 - head/sys/libkern
Bruce Evans
brde at optusnet.com.au
Wed Feb 14 05:20:30 UTC 2018
On Tue, 13 Feb 2018, Ian Lepore wrote:
> On Tue, 2018-02-13 at 14:43 -0500, Ed Maste wrote:
>> On 13 February 2018 at 14:23, Ian Lepore <ian at freebsd.org> wrote:
>>>
>>> On Tue, 2018-02-13 at 19:17 +0000, Ed Maste wrote:
>>>>
>>>> Author: emaste
>>>> Date: Tue Feb 13 19:17:48 2018
>>>> New Revision: 329237
>>>> URL: https://svnweb.freebsd.org/changeset/base/329237
>>>>
>>>> Log:
>>>> libkern: use nul for terminating char rather than 0
>>>>
>>>> Akin to the change made in r188080 for lib/libc/string/.
>>>>
>>>> Reported by: bde
>>>> Sponsored by: The FreeBSD Foundation
>>> There are many ways to spell 0. Why are we using something other
>>> than
>>> the simplest way? Is it a style rule thing, or is it portability-
>>> correctness, or what?
style(9) requires '\0' (by always spelling the character constant with
value 0 like that).
>> I made the change to improve consistency between lib/libc/string and
>> sys/libkern, which is what Bruce commented on some time ago. I don't
>> have a personal preference for 0 or '\0' but definitely believe that
>> if we have multiple, similar copies of a function they ought to avoid
>> gratuitous differences. (I'm happy to change both trees to 0 if
>> that's
>> preferred.)
Core parts of libc like stdio and (MI) string use '\0' fairly consistently.
There were about 10-20 plain 0's in string in FreeBSD-5, but most of these
have been changed to '\0'. This gives a much larger set of examples of
normal style.
> Oh, I agree completely about consistancy being important. I just
> wanted to know whether I should try to remember to always use \0
> because it's a rule or has some benefit I didn't know about.
>
> 20+ years ago I used to slavishly ensure I always used \0 when a char
> type was involved, just as a personal style thing. Then over time I
> came to the conclusion that "0 is 0 no matter how you spell it, so keep
> it simple" (except for pointers... even in c++ I've always used NULL).
Probably the BSD style rule has the same origin.
Bruce
More information about the svn-src-all
mailing list