Copyright (C) 2000-2012 |
GNU Info (libc.info)Envz FunctionsEnvz Functions -------------- Envz vectors are just argz vectors with additional constraints on the form of each element; as such, argz functions can also be used on them, where it makes sense. Each element in an envz vector is a name-value pair, separated by a `'='' character; if multiple `'='' characters are present in an element, those after the first are considered part of the value, and treated like all other non-`'\0'' characters. If _no_ `'='' characters are present in an element, that element is considered the name of a "null" entry, as distinct from an entry with an empty value: `envz_get' will return `0' if given the name of null entry, whereas an entry with an empty value would result in a value of `""'; `envz_entry' will still find such entries, however. Null entries can be removed with `envz_strip' function. As with argz functions, envz functions that may allocate memory (and thus fail) have a return type of `error_t', and return either `0' or `ENOMEM'. These functions are declared in the standard include file `envz.h'. - Function: char * envz_entry (const char *ENVZ, size_t ENVZ_LEN, const char *NAME) The `envz_entry' function finds the entry in ENVZ with the name NAME, and returns a pointer to the whole entry--that is, the argz element which begins with NAME followed by a `'='' character. If there is no entry with that name, `0' is returned. - Function: char * envz_get (const char *ENVZ, size_t ENVZ_LEN, const char *NAME) The `envz_get' function finds the entry in ENVZ with the name NAME (like `envz_entry'), and returns a pointer to the value portion of that entry (following the `'=''). If there is no entry with that name (or only a null entry), `0' is returned. - Function: error_t envz_add (char **ENVZ, size_t *ENVZ_LEN, const char *NAME, const char *VALUE) The `envz_add' function adds an entry to `*ENVZ' (updating `*ENVZ' and `*ENVZ_LEN') with the name NAME, and value VALUE. If an entry with the same name already exists in ENVZ, it is removed first. If VALUE is `0', then the new entry will the special null type of entry (mentioned above). - Function: error_t envz_merge (char **ENVZ, size_t *ENVZ_LEN, const char *ENVZ2, size_t ENVZ2_LEN, int OVERRIDE) The `envz_merge' function adds each entry in ENVZ2 to ENVZ, as if with `envz_add', updating `*ENVZ' and `*ENVZ_LEN'. If OVERRIDE is true, then values in ENVZ2 will supersede those with the same name in ENVZ, otherwise not. Null entries are treated just like other entries in this respect, so a null entry in ENVZ can prevent an entry of the same name in ENVZ2 from being added to ENVZ, if OVERRIDE is false. - Function: void envz_strip (char **ENVZ, size_t *ENVZ_LEN) The `envz_strip' function removes any null entries from ENVZ, updating `*ENVZ' and `*ENVZ_LEN'. automatically generated by info2www version 1.2.2.9 |