arnold@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