# dmd.root.env

Functions for modifying environment variables.

#### License

Boost License 1.0

Source: `env`.d

Documentation: https://dlang.org/phobos/dmd_root_env.html

Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/env.d

- `putenvRestorable`

  #### Declaration

  `nothrow bool `putenvRestorable`(const(char)[] `name`, const(char)[] `value`);`

  Construct a variable from ``name`` and ``value`` and put it in the environment while saving the previous `value` of the environment variable into a global list so it can be restored later.

  #### Parameters

  `const(char)[] `name`` | the `name` of the variable
  `const(char)[] `value`` | the `value` of the variable

  #### Return Value

  `true` on error, `false` on success

- `allocNameValue`

  #### Declaration

  `nothrow string `allocNameValue`(const(char)[] `name`, const(char)[] `value`);`

  Allocate a new variable via xmalloc that can be added to the global environment. The resulting string will be `null`-terminated immediately after the end of the array.

  #### Parameters

  `const(char)[] `name`` | `name` of the variable
  `const(char)[] `value`` | `value` of the variable

  #### Return Value

  a newly allocated variable that can be added to the global environment

- `restoreEnvVars`

  #### Declaration

  `void `restoreEnvVars`();`

  Restore the original environment.

- `saveEnvVar`

  #### Declaration

  `nothrow void `saveEnvVar`(const(char)[] `name`);`

  Save the environment variable ``name`` if not saved already.