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