from small one page howto to huge articles all in one place
 

search text in:





Poll
Which screen resolution do you use?










poll results

Last additions:
using iotop to find disk usage hogs

using iotop to find disk usage hogs

words:

887

views:

186360

userrating:

average rating: 1.7 (102 votes) (1=very good 6=terrible)


May 25th. 2007:
Words

486

Views

250360

why adblockers are bad


Workaround and fixes for the current Core Dump Handling vulnerability affected kernels

Workaround and fixes for the current Core Dump Handling vulnerability affected kernels

words:

161

views:

137537

userrating:

average rating: 1.4 (42 votes) (1=very good 6=terrible)


April, 26th. 2006:

Druckversion
You are here: manpages





ENVZ_ADD

Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index Return to Main Contents
 

NAME

envz_add, envz_entry, envz_get, envz_merge, envz_remove, envz_strip - environment string support  

SYNOPSIS

#include <envz.h>

error_t envz_add(char **envz, size_t *envz_len,
                 const char *name, const char *value);

char *envz_entry(const char *envz, size_t envz_len, const char *name);

char *envz_get(const char *envz, size_t envz_len, const char *name);

error_t envz_merge(char **envz, size_t *envz_len,
                   const char *envz2, size_t envz2_len, int override);

void envz_remove(char **envz, size_t *envz_len, const char *name);

void envz_strip(char **envz, size_t *envz_len);
 

DESCRIPTION

These functions are glibc-specific.

An argz vector is a pointer to a character buffer together with a length, see argz_add(3). An envz vector is a special argz vector, namely one where the strings have the form "name=value". Everything after the first aq=aq is considered to be the value. If there is no aq=aq, the value is taken to be NULL. (While the value in case of a trailing aq=aq is the empty string "".)

These functions are for handling envz vectors.

envz_add() adds the string name = value (in case value is non-NULL) or name (in case value is NULL) to the envz vector (*envz*envz_len) and updates *envz and *envz_len. If an entry with the same name existed, it is removed.

envz_entry() looks for name in the envz vector (envzenvz_len) and returns the entry if found, or NULL if not.

envz_get() looks for name in the envz vector (envzenvz_len) and returns the value if found, or NULL if not. (Note that the value can also be NULL, namely when there is an entry for name without aq=aq sign.)

envz_merge() adds each entry in envz2 to *envz, as if with envz_add(). If override is true, then values in envz2 will supersede those with the same name in *envz, otherwise not.

envz_remove() removes the entry for name from (*envz*envz_len) if there was one.

envz_strip() removes all entries with value NULL.  

RETURN VALUE

All envz functions that do memory allocation have a return type of error_t, and return 0 for success, and ENOMEM if an allocation error occurs.  

ATTRIBUTES

For an explanation of the terms used in this section, see attributes(7).
InterfaceAttributeValue
envz_add(), envz_entry(),
envz_get(), envz_merge(),
envz_remove(), envz_strip()
Thread safetyMT-Safe

 

CONFORMING TO

These functions are a GNU extension. Handle with care.  

EXAMPLE

#include <stdio.h> #include <stdlib.h> #include <envz.h>

int main(int argc, char *argv[], char *envp[]) {
    int i, e_len = 0;
    char *str;


    for (i = 0; envp[i] != NULL; i++)
        e_len += strlen(envp[i]) + 1;


    str = envz_entry(*envp, e_len, "HOME");
    printf("%s\n", str);
    str = envz_get(*envp, e_len, "HOME");
    printf("%s\n", str);
    exit(EXIT_SUCCESS); }  

SEE ALSO

argz_add(3)  

COLOPHON

This page is part of release 4.13 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.


 

Index

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
ATTRIBUTES
CONFORMING TO
EXAMPLE
SEE ALSO
COLOPHON





Support us on Content Nation
rdf newsfeed | rss newsfeed | Atom newsfeed
- Powered by LeopardCMS - Running on Gentoo -
Copyright 2004-2020 Sascha Nitsch Unternehmensberatung GmbH
Valid XHTML1.1 : Valid CSS : buttonmaker
- Level Triple-A Conformance to Web Content Accessibility Guidelines 1.0 -
- Copyright and legal notices -
Time to create this page: 17.4 ms