Loading...
stdlib/getenv.3 Libc-763.13 Libc-262
--- Libc/Libc-763.13/stdlib/getenv.3
+++ Libc/Libc-262/stdlib/getenv.3
@@ -34,7 +34,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)getenv.3	8.2 (Berkeley) 12/11/93
-.\" $FreeBSD: src/lib/libc/stdlib/getenv.3,v 1.16 2004/07/07 19:57:13 ru Exp $
+.\" $FreeBSD: src/lib/libc/stdlib/getenv.3,v 1.12 2001/09/07 14:46:35 asmodai Exp $
 .\"
 .Dd December 11, 1993
 .Dt GETENV 3
@@ -50,32 +50,22 @@
 .Sh SYNOPSIS
 .In stdlib.h
 .Ft char *
-.Fo getenv
-.Fa "const char *name"
-.Fc
+.Fn getenv "const char *name"
 .Ft int
-.Fo putenv
-.Fa "char *string"
-.Fc
+.Fn setenv "const char *name" "const char *value" "int overwrite"
 .Ft int
-.Fo setenv
-.Fa "const char *name"
-.Fa "const char *value"
-.Fa "int overwrite"
-.Fc
-.Ft int
-.Fo unsetenv
-.Fa "const char *name"
-.Fc
+.Fn putenv "const char *string"
+.Ft void
+.Fn unsetenv "const char *name"
 .Sh DESCRIPTION
 These functions set, unset and fetch environment variables from the
 host
 .Em environment list .
 For compatibility with differing environment conventions,
 the given arguments
-.Fa name
+.Ar name
 and
-.Fa value
+.Ar value
 may be appended and prepended,
 respectively,
 with an equal sign
@@ -84,27 +74,30 @@
 The
 .Fn getenv
 function obtains the current value of the environment variable,
-.Fa name .
+.Ar name .
+If the variable
+.Ar name
+is not in the current environment,
+a null pointer is returned.
 .Pp
 The
 .Fn setenv
 function inserts or resets the environment variable
-.Fa name
+.Ar name
 in the current environment list.
 If the variable
-.Fa name
+.Ar name
 does not exist in the list,
 it is inserted with the given
-.Fa value .
+.Ar value .
 If the variable does exist, the argument
-.Fa overwrite
+.Ar overwrite
 is tested; if
-.Fa overwrite
-is
+.Ar overwrite is
 zero, the
 variable is not reset, otherwise it is reset
 to the given
-.Fa value .
+.Ar value .
 .Pp
 The
 .Fn putenv
@@ -114,92 +107,27 @@
 setenv(name, value, 1);
 .Ed
 .Pp
-The string pointed to by
-.Fa string
-becomes part of the environment.
-A program should not alter or free the string,
-and should not use stack or other transient string variables
-as arguments to
-.Fn putenv .
-The
-.Fn setenv
-function is strongly preferred to
-.Fn putenv .
-.Pp
 The
 .Fn unsetenv
 function
 deletes all instances of the variable name pointed to by
 .Fa name
 from the list.
-Note that only the variable name (e.g., "NAME") should be given;
-"NAME=value" will not work.
 .Sh RETURN VALUES
-The
-.Fn getenv
-function returns the value of the environment variable as a
-.Dv NUL Ns
--terminated string.
-If the variable
-.Fa name
-is not in the current environment,
-.Dv NULL
-is returned.
-.Pp
-.Rv -std setenv putenv unsetenv
+.Rv -std setenv putenv
 .Sh ERRORS
 .Bl -tag -width Er
-.It Bq Er EINVAL
-The function
-.Fn unsetenv
-failed because
-.Fa name
-was not found in the environment list.
 .It Bq Er ENOMEM
 The function
 .Fn setenv
 or
 .Fn putenv
-failed because it was unable to allocate memory for the environment.
+failed because they were unable to allocate memory for the environment.
 .El
-.Sh LEGACY SYNOPSIS
-.Fd #include <stdlib.h>
-.Pp
-.Ft void
-.br
-.Fo unsetenv
-.Fa "const char *name"
-.Fc ;
-.Pp
-.Fn unsetenv
-doesn't return a value.
-.Sh COMPATIBILITY
-.Fn putenv
-no longer copies its input buffer.
-This often appears in crash logs as a crash in
-.Fn getenv .
-Avoid passing local buffers or freeing the memory
-that is passed to
-.Fn putenv .
-Use
-.Fn setenv ,  
-which still makes an internal copy of its buffers.
-.Pp
-.Fn unsetenv
-no longer parses the variable name;
-e.g., unsetenv ("FOO=BAR") no longer works.
-Use unsetenv("FOO").
-.Fn unsetenv
-also now returns a status value and will set
-.Va errno
-to EINVAL if
-.Fa name
-is not a defined environment variable.
 .Sh SEE ALSO
 .Xr csh 1 ,
 .Xr sh 1 ,
 .Xr execve 2 ,
-.Xr compat 5 ,
 .Xr environ 7
 .Sh STANDARDS
 The
@@ -212,18 +140,16 @@
 or
 .Fn putenv
 assigning a differently sized
-.Fa value
+.Ar value
 to the same
-.Fa name
-will result in a memory leak.
-The
+.Ar name
+will result in a memory leak.  The
 .Fx
 semantics for these functions
 (namely, that the contents of
-.Fa value
+.Ar value
 are copied and that old values remain accessible indefinitely) make this
-bug unavoidable.
-Future versions may eliminate one or both of these
+bug unavoidable.  Future versions may eliminate one or both of these
 semantic guarantees in order to fix the bug.
 .Sh HISTORY
 The functions