mirror of
https://git.savannah.gnu.org/git/gnulib.git
synced 2025-08-17 12:41:05 +03:00
35 lines
997 B
Plaintext
35 lines
997 B
Plaintext
@node environ
|
|
@section @code{environ}
|
|
@findex environ
|
|
|
|
POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/environ.html}
|
|
|
|
Gnulib module: environ
|
|
|
|
Portability problems fixed by Gnulib:
|
|
@itemize
|
|
@item
|
|
POSIX does not require this variable to be declared, and it is indeed not
|
|
declared on some platforms:
|
|
MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, IRIX 6.5, Solaris 10.
|
|
@item
|
|
On MacOS X 10, this variable is not declared. Up to MacOS X 10.4, one can use
|
|
@smallexample
|
|
extern char **environ;
|
|
@end smallexample
|
|
to get the variable declared. This does not work any more, however, in
|
|
shared libraries on MacOS X 10.5. Here is a workaround: Instead, one can use
|
|
@smallexample
|
|
#include <crt_externs.h>
|
|
#define environ (*_NSGetEnviron())
|
|
@end smallexample
|
|
This works at all versions of MacOS X.
|
|
@end itemize
|
|
|
|
Portability problems not fixed by Gnulib:
|
|
@itemize
|
|
@item
|
|
The address of this variable is not a compile-time constant on some platforms:
|
|
mingw.
|
|
@end itemize
|