1
0
mirror of https://git.savannah.gnu.org/git/gnulib.git synced 2025-08-17 12:41:05 +03:00
Files
gnulib/doc/posix-functions/unsetenv.texi
Eric Blake 91e21656de setenv: relax requirement in light of POSIX ruling
Requiring that {un,}setenv gracefully reject NULL is just a waste
of processing power; POSIX agreed to this argument in
 http://austingroupbugs.net/view.php?id=185
so we no longer worry whether a native implementation handles NULL.

* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
not NULL.
* tests/test-setenv.c (main): Relax test.
* tests/test-unsetenv.c (main): Likewise.
* doc/posix-functions/setenv.texi (setenv): Document this.
* doc/posix-functions/unsetenv.texi (unsetenv): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-12-11 13:57:28 -07:00

35 lines
1.0 KiB
Plaintext

@node unsetenv
@section @code{unsetenv}
@findex unsetenv
POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/unsetenv.html}
Gnulib module: setenv
Portability problems fixed by Gnulib:
@itemize
@item
This function is missing on some platforms:
AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 9, mingw, BeOS.
@item
This function has the return type @samp{void} instead of @samp{int} on some
platforms:
MacOS X 10.3, FreeBSD 6.0, NetBSD 1.6, OpenBSD 3.8, OSF/1 5.1.
@item
On some platforms, this function does not fail with @samp{EINVAL} when
passed an empty string or a string containing @samp{=}:
FreeBSD 6.0, NetBSD 1.6, OpenBSD 3.8.
@item
This function removes only the first value association for the given
environment variable, not all of them, on some platforms:
Solaris 10.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@item
Older versions of POSIX required that @code{unsetenv(NULL)} gracefully
fail with @code{EINVAL}, but not all implementations guarantee this,
and the requirement was removed.
@end itemize