The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

#### NAME

> unsetenv - remove an environment variable

#### SYNOPSIS

> ``[CX] #include <stdlib.h>
> int unsetenv(const char *`name`);``
> `
> `

#### DESCRIPTION

> The unsetenv() function shall remove an environment variable from the environment of the calling process. The name argument points to a string, which is the name of the variable to be removed. The named argument shall not contain an `'='` character. If the named variable does not exist in the current environment, the environment shall be unchanged and the function is considered to have completed successfully.

> If the application modifies environ or the pointers to which it points, the behavior of unsetenv() is undefined. The unsetenv() function shall update the list of pointers to which environ points.

> The unsetenv() function need not be reentrant. A function that is not required to be reentrant is not required to be thread-safe.

#### RETURN VALUE

> Upon successful completion, zero shall be returned. Otherwise, -1 shall be returned, errno set to indicate the error, and the environment shall be unchanged.

#### ERRORS

> The unsetenv() function shall fail if:

> [EINVAL]
>   The name argument is a null pointer, points to an empty string, or points to a string containing an `'='` character.

The following sections are informative.

#### EXAMPLES

> None.

#### APPLICATION USAGE

> None.

#### RATIONALE

> Refer to the RATIONALE section in setenv().

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> getenv(), setenv(), the Base Definitions volume of IEEE Std 1003.1-2001, <stdlib.h>, <sys/types.h>, <unistd.h>

#### CHANGE HISTORY

> First released in Issue 6. Derived from the IEEE P1003.1a draft standard.

End of informative text.

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]