Re: correct NUL vs. NULL usage - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: correct NUL vs. NULL usage
Date
Msg-id 200309280036.h8S0awO27806@candle.pha.pa.us
Whole thread Raw
In response to Re: correct NUL vs. NULL usage  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: correct NUL vs. NULL usage
List pgsql-patches
Tom, I understand your research on the historical usage of null, but in
PostgreSQL we have not two but three possible uses for n-u-l-l:

    o null pointer
    o null byte
    o null SQL value

With that list, anything that makes null clearer is great.  I think we
should just standardize on 'NUL' for a null byte, or 'nul'.  I think the
code would benefit from that clarification.  I usually do:

    #define NUL '\0'

in my C code.

---------------------------------------------------------------------------

Tom Lane wrote:
> Neil Conway <neilc@samurai.com> writes:
> > In C, "NULL" denotes a special pointer value indicating the pointer
> > points to no value. "NUL" is the ASCII character that terminates a C
> > string. These two terms are not synonymous, so this patch corrects the
> > usage of NULL in comments in the postgres source.
>
> However, lower case "null" is commonly used for both meanings.
> I cite the C99 standard:
>
>        ... A  byte with all bits set to 0,
>        called  the  null  character,  shall  exist  in  the   basic
>        execution character set; it is used to terminate a character
>        string.
>
> The standard thereafter consistently uses "the null character" to
> refer to '\0'.  Kernighan & Ritchie first edition tends to use boldface
> "\0" in running text, but the initial use of that symbol is *defined as*
> "the <i>null character</>, whose value is zero" (their italics).
>
> In my experience "NUL" is actually less common than other names for
> the null character.
>
> In short, I think most of this patch is just pedantry.  Could you
> trim it down to just the places where there's actually risk of
> confusion?  (I do agree that upper case NULL is not appropriate as
> a name for the character.)
>
>             regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: tsearch2 memory alloc checks
Next
From: Bruce Momjian
Date:
Subject: Re: pretty print for check constraints broken