bglibs: envstr: Environment variables in a str.

- Main Page
- Modules
- Data Structures
- Files
- Directories
- Related Pages
- Examples

# envstr: Environment variables in a str.

## Functions
const char * | envstr_find (const struct str *env, const char *var, long varlen)
const char * | envstr_get (const struct str *env, const char *var)
int | envstr_set (struct str *env, const char *var, const char *val, int overwrite)
void | envstr_unset (struct str *env, const char *var)
int | envstr_put (struct str *env, const char *asgn, int overwrite)
int | envstr_from_array (struct str *env, char **array, int overwrite)
int | envstr_from_string (struct str *env, const char *s, int overwrite)
char ** | envstr_make_array (const struct str *env)

## Detailed Description

Calling Convention

All functions that allocate memory return `0` (false) if the function failed due to being unable to allocate memory, and non-zero (true) otherwise.

## Function Documentation

const char* envstr_find | ( | const struct str * | env,
|  | const char * | var,
|  | long | len |
| ) |  |  |

Find the named variable in the environment string.

Returns:
  a pointer to the start of the assignment.

int envstr_from_array | ( | struct str * | env,
|  | char ** | array,
|  | int | overwrite |
| ) |  |  |

Adds the assignments from the array of pointers to the environment string. The array must be terminated by a `NULL` pointer, just the same as the standard `environ` array.

int envstr_from_string | ( | struct str * | env,
|  | const char * | s,
|  | int | overwrite |
| ) |  |  |

Adds the string-based list of assignments to the environment string. Each individual assignment in the list must be ASCII NUL terminated, and the final assignment must be followed by two ASCII NULs.

const char* envstr_get | ( | const struct str * | env,
|  | const char * | var |
| ) |  |  |

Get the value of an assignment from an environment string.

char** envstr_make_array | ( | const struct str * | env | ) |

Make a `environ` compatable array of pointers to the environment string.

Note:
  The returned pointer is dynamically allocated, and must be freed.

int envstr_put | ( | struct str * | env,
|  | const char * | asgn,
|  | int | overwrite |
| ) |  |  |

Put an assignment, in `NAME=value` format, into the environment string.

Note:
  Unlike putenv, a copy of the assignment is made instead of keeping a copy of the given pointer.

int envstr_set | ( | struct str * | env,
|  | const char * | var,
|  | const char * | val,
|  | int | overwrite |
| ) |  |  |

Set the named variable to the given value in the environment string.

void envstr_unset | ( | struct str * | env,
|  | const char * | var |
| ) |  |  |

Unset the named variable in the environment string.