arn...@skeeve.com writes:
> "Dale R. Worley" via Bug reports for GNU grep <bug-grep@gnu.org> wrote:
...
>> That is strange:  I can't find any statement that recent C standards
>> have removed the special case "initialize a char array that doesn't have
>> room for the final NULL from a string literal".
>
> The bug is that the constants given for the sizes are each to small by one.
> Count the characters in each string, add 1 for the final '\0', and
> you'll see.

Yes, but ... Back when I was programming in C (and when I was involved
in writing a C compiler), there was a specific clause in the C standard
for that case, saying that it was OK, the characters went into the
char[] variable, and the final NUL was to be ignored.  When I said
"special case" above, I meant it.

I expect I've thrown away the copy I have of the draft of the original
ANSI C, so I can't check that, and ANSI is uptight so there aren't
copies of the current standard on online.  But trying to search for
statements about the *idea*, I couldn't find any online reference saying
that some Cnn standard had removed that special case.

Dale



Reply via email to