BZ#10153: Document putenv and setenv return values
Carlos O'Donell
carlos@systemhalted.org
Sun Apr 8 16:13:00 GMT 2012
On Sun, Apr 8, 2012 at 11:37 AM, Andreas Jaeger <aj@suse.com> wrote:
>
> The return values of putenv and setenv where not mentioned at all,
> fixed with the appended patch.
>
> Ok to commit?
>
> Andreas
>
> 2012-04-08 Andreas Jaeger <aj@suse.de>
>
> [BZ #10153]
> * manual/startup.texi (Environment Access): Describe return value
> for putenv and setenv.
>
> diff --git a/manual/startup.texi b/manual/startup.texi
> index 93dca30..4cd99e5 100644
> --- a/manual/startup.texi
> +++ b/manual/startup.texi
> @@ -335,6 +335,9 @@ definition is added to the environment. Otherwise, the @var{string} is
> interpreted as the name of an environment variable, and any definition
> for this variable in the environment is removed.
>
> +If the function is successful it returns @code{0}. Otherwise the return
> +value is nonzero and @code{errno} is set to indicate the error.
> +
> The difference to the @code{setenv} function is that the exact string
> given as the parameter @var{string} is put into the environment. If the
> user should change the string after the @code{putenv} call this will
> @@ -364,6 +367,9 @@ the old entry is replaced by the new one.
>
> Please note that you cannot remove an entry completely using this function.
>
> +If the function is successful it returns @code{0}. Otherwise the return
> +value is @code{-1} and @code{errno} is set.
> +
> This function was originally part of the BSD library but is now part of
> the Unix standard.
> @end deftypefun
POSIX additionally says that if setenv fails the environment shall be unchanged.
OK, with that additional change as long as our implementation actually
does that :-)
Cheers,
Carlos.
More information about the Libc-alpha
mailing list