On 2025-04-02, Lew Pitcher <
[email protected]> wrote:
I cannot find any definitive statement in my copies of the various
C language standards that addresses the behaviour of the C string
functions when given a NULL pointer.
Let us start with ISO C 90.
7.1.7 Use of library functions
Each of the following statements applies unless explicitly stated
otherwise in the detailed descriptions that follow. If an argument to
a function has an invalid value (such as a value outside the domain of
the function. or a pointer outside the address space of the program.
or a null pointer), the behavior is undefined.
^^^^^^^^^^^^^^^^^
C99 draft. (Have the real thing, not currently on me):
7.1.4 Use of library functions
1 Each of the following statements applies unless explicitly stated
otherwise in the detailed descriptions that follow: If an argument
to a function has an invalid value (such as a value outside the
domain of the function, or a pointer outside the address space of
the program, or a null pointer, or a pointer to non-modifiable
storage when the corresponding parameter is not const-qualified) or
a type (after promotion) not expected by a function with variable
number of arguments, the behavior is undefined.
n3301 draft:
7.1.4 Use of library functions
1 Each of the following statements applies unless explicitly stated
otherwise in the detailed descriptions that follow:
-- If an argument to a function has an invalid value (such as a
value outside the domain of the function, or a pointer outside
the address space of the program, or a null pointer, or a pointer
to non-modifiable storage when the corresponding parameter is not
const-qualified) or a type (after default argument promotion) not
expected by a function with a variable number of arguments, the
behavior is undefined.
It gets more verbose and indented, but the null treatment is
consistently there.
--
TXR Programming Language:
http://nongnu.org/txr
Cygnal: Cygwin Native Application Library:
http://kylheku.com/cygnal
Mastodon: @
[email protected]
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)