GETENV(3) | Library Functions Manual | GETENV(3) |
getenv
, getenv_r
,
putenv
, setenv
,
unsetenv
—
#include <stdlib.h>
char *
getenv
(const
char *name);
int
getenv_r
(const
char *name, char
*buf, size_t
len);
int
setenv
(const
char *name, const char
*value, int
overwrite);
int
putenv
(char
*string);
int
unsetenv
(const
char *name);
getenv
() or
getenv_r
() given argument name
may be appended with an equal sign “=
”.
The getenv
() function obtains the current
value of the environment variable name. If the
variable name is not in the current environment, a
NULL
pointer is returned.
The getenv_r
() function obtains the
current value of the environment variable name and
copies it to buf. If name is not
in the current environment, or the string length of the value of
name is longer than len
characters, then -1 is returned and errno is set to
indicate the error.
The setenv
() function inserts or resets
the environment variable name in the current
environment list. If the variable name does not exist
in the list, it is inserted with the given value. If
the variable does exist, the argument overwrite is
tested; if overwrite is zero, the variable is not
reset, otherwise it is reset to the given value.
The putenv
() function takes an argument of
the form “name=value” and it will set the environment variable
“name” equal to “value” by altering an existing
entry, or creating a new one if an existing one does not exist. The actual
string argument passed to putenv
() will become part
of the environment. If one changes the string, the environment will also
change.
The unsetenv
() function deletes all
instances of the variable name pointed to by name from
the list.
getenv_r
(),
setenv
(), putenv
(), and
unsetenv
() return zero if successful; otherwise the
global variable errno is set to indicate the error and a
-1 is returned.
If getenv
() is successful, the string
returned should be considered read-only.
EINVAL
]setenv
() or unsetenv
() is
a null pointer, points to an empty string, or points to a string
containing an “=
” character. The
value argument to setenv
()
is a null pointer. The string argument to
putenv
() is a null pointer, or points to a string
that either starts with a “=
”
character or does not contain one at all.ENOMEM
]setenv
() or
putenv
() failed because they were unable to
allocate memory for the environment.The function getenv_r
() can return the
following errors:
getenv
() function conforms to ANSI
X3.159-1989 (“ANSI C89”). The
putenv
() function conforms to X/Open
Portability Guide Issue 4 (“XPG4”). The
unsetenv
() function conforms to IEEE
Std 1003.1-2001 (“POSIX.1”).
setenv
() and
unsetenv
() appeared in
Version 7 AT&T UNIX. The
putenv
() function appeared in
4.3BSD-Reno.
October 25, 2010 | NetBSD 9.2 |