@node setenv
@subsection @code{setenv}
@findex setenv

POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/functions/setenv.html}

Gnulib module: setenv
@mindex setenv

Portability problems fixed by Gnulib:
@itemize
@item
This function is missing on some platforms:
HP-UX 11.23, Solaris 9, mingw, MSVC 14.
@item
On some platforms, this function does not fail with @code{EINVAL} when
passed an empty string or a string containing @samp{=}:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 1.6, OpenBSD 7.5, Cygwin 1.5.x.
@item
On some platforms, this function removes a leading @samp{=} from the
value argument:
Cygwin 1.5.x.
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
Older versions of POSIX required that @code{setenv(NULL,"",0)} gracefully
fail with @code{EINVAL}, but not all implementations guarantee this,
and the requirement was removed.
@end itemize
