Subject: Re: CVS commit: src/lib/libc/string
To: Ben Harris <bjh21@netbsd.org>
From: Thor Lancelot Simon <tls@rek.tjls.com>
List: tech-userlevel
Date: 10/16/2006 13:05:52
On Mon, Oct 16, 2006 at 11:34:52AM +0100, Ben Harris wrote:
> In article <20061016084845.E7B80211CA@cvs.netbsd.org> you write:
> >Log Message:
> >nul/null/NULL cleanup:
> >when talking about characters/bytes, use "nul" and "nul-terminate"
> 
> I think this is wrong.  The C standard uses the phrase "null character" 
> to mean a character with all bits zero.  POSIX uses the phrase 
> "null-terminated".  "NUL" is the ISO 6429 mnemonic for the "NULL"
> control function, which is coded as 00/00 in the default C0 set.  The 
> OED lists "nul" as a rare variant spelling of "null".

Ben is absolutely right.  As a native speaker of American English I think
I can say with some certainty that "nul" with one 'l' is an extremely
uncommon usage and we should not correct manual pages towards it.

Making things worse, "NUL" is a name for a character that is not necessarily
all-zeroes in all character sets, so "correcting" usage towards "nul" from
"null" just creates the potential for confusion.

Please do not change English-language documentation so that it uses "nul"
where it said "null".  The fact that it is possible to find the word "nul"
in the Oxford English Dictionary is not relevant: I can find "an" there,
too, as a synonym for "if", but it would be as absurd for me to go around
substituting the arcane and archaic "an" for "if" in our documentation as
it is for one to go around substituting the arcane and archaic "nul" for
"null".

Thor