Mercurial > gnulib
view doc/posix-functions/environ.texi @ 38895:70deacf7fcf4
all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Thu, 12 Oct 2017 17:40:54 +0200 |
parents | fa36c6a7c96f |
children | 11af6bbd6df5 |
line wrap: on
line source
@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: Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, IRIX 6.5, Solaris 11.0. @item On Mac OS X 10, this variable is not declared. Up to Mac OS 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 Mac OS 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 Mac OS 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