Subject: Re: environ(7)
To: Roland McGrath <roland@frob.com>
From: J.T. Conklin <jconklin@netcom.com>
List: current-users
Date: 11/07/1994 22:16:12
> 1003.1-1988 specifies `extern char **environ;'.
> Not sure about about 1003.1-1990 off hand.
I'm working from 1003.1-1990.
The only mention of environ is in section 3.1.2.2 which states how a C
language program is to be executed as a result of the exec() family of
syscalls; and that environment for the new process image is taken from
environ for the forms that do not take an envp pointer.
I have no question over whether or not "extern char **environ" is
required. I do question that it is supposed to be declared in a header
file.
Note that the fact that errno is declared in <errno.h> is mentioned in
several different places in 1003.1, and that 2003.1 has an assertion (2.4
01(A)) to verify that it is. 1003.1-90 never states that environ needs to
be declared; and 2003.1 doesn't have any assertions that test for a
declaration either.
--jtc