X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=doc%2Fposix-functions%2Fenviron.texi;h=64eddf6552a58ca6d0dd0fe767e6eac0d86dbded;hb=fd33cbeb2af00d79957ed51beeeadec715b0290a;hp=d89187b1bebbe06786e443af31770bcc8d02949d;hpb=2b6c08c775ae4e80b52aa41058ea5939f778b44b;p=gnulib.git diff --git a/doc/posix-functions/environ.texi b/doc/posix-functions/environ.texi index d89187b1b..64eddf655 100644 --- a/doc/posix-functions/environ.texi +++ b/doc/posix-functions/environ.texi @@ -2,20 +2,33 @@ @section @code{environ} @findex environ -POSIX specification: @url{http://www.opengroup.org/susv3xsh/environ.html} +POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/environ.html} -Gnulib module: --- +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.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, IRIX 6.5, Solaris 11 2010-11. +@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 +#define environ (*_NSGetEnviron()) +@end smallexample +This works at all versions of MacOS X. @end itemize Portability problems not fixed by Gnulib: @itemize @item -This variable is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, IRIX 6.5, OSF/1 5.1, Cygwin. -@item The address of this variable is not a compile-time constant on some platforms: mingw. @end itemize