---
name: "cgiwrap_getenv"
section: "3"
platform: "linux"
package: "clearsilver-dev"
version: "0.10.5-6+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/cgiwrap_getenv"
---

# cgiwrap\_getenv(3)

the wrapper for getenv

## NAME

cgiwrap\_getenv  - the wrapper for getenv

## SYNOPSIS

```
#include <cgi/cgiwrap.h>
```

```
NEOERR *cgiwrap_getenv (const char *k, char **v);
```

## ARGUMENTS

k - the environment variable to lookup

## DESCRIPTION

cgiwrap\_getenv wraps the getenv function for access to environment variables, which are used to pass data to CGI scripts.  This version differs from the system getenv in that it makes a copy of the value it returns, which gets around problems when wrapping this routine in garbage collected/reference counted languages by moving the ownership of the data to the calling function.

## RETURN VALUE

v - a newly allocated copy of the value of that variable, or\
 NULL if not found.

## SEE ALSO

[**cgiwrap\_iterenv**(3)](/cgiwrap_iterenv/3.md), [**cgiwrap\_putenv**(3)](/cgiwrap_putenv/3.md), [**cgiwrap\_init\_emu**(3)](/cgiwrap_init_emu/3.md), [**cgiwrap\_writef**(3)](/cgiwrap_writef/3.md), [**cgiwrap\_init\_std**(3)](/cgiwrap_init_std/3.md), [**cgiwrap\_writevf**(3)](/cgiwrap_writevf/3.md), [**cgiwrap\_read**(3)](/cgiwrap_read/3.md), [**cgiwrap\_write**(3)](/cgiwrap_write/3.md), **cgiwrap\_getenv**
