Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


envz_add(3) — Linux manual page

NAME |LIBRARY |SYNOPSIS |DESCRIPTION |RETURN VALUE |ATTRIBUTES |STANDARDS |EXAMPLES |SEE ALSO |COLOPHON

envz_add(3)              Library Functions Manualenvz_add(3)

NAME        top

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

LIBRARY        top

       Standard C library (libc,-lc)

SYNOPSIS        top

#include <envz.h>error_t envz_add(char **restrictenvz, size_t *restrictenvz_len,const char *restrictname, const char *restrictvalue);char *envz_entry(const char *restrictenvz, size_tenvz_len,const char *restrictname);char *envz_get(const char *restrictenvz, size_tenvz_len,const char *restrictname);error_t envz_merge(char **restrictenvz, size_t *restrictenvz_len,const char *restrictenvz2, size_tenvz2_len,intoverride);void envz_remove(char **restrictenvz, size_t *restrictenvz_len,const char *restrictname);void envz_strip(char **restrictenvz, size_t *restrictenvz_len);

DESCRIPTION        top

       These functions are glibc-specific.       An argz vector is a pointer to a character buffer together with a       length, seeargz_add(3).  An envz vector is a special argz vector,       namely one where the strings have the form "name=value".       Everything after the first '=' is considered to be the value.  If       there is no '=', the value is taken to be NULL.  (While the value       in case of a trailing '=' is the empty string "".)       These functions are for handling envz vectors.envz_add() adds the string "name=value" (in casevalue is non-       NULL) or "name" (in casevalue is NULL) to the envz vector       (*envz,*envz_len) and updates*envz and*envz_len.  If an entry       with the samename existed, it is removed.envz_entry() looks forname in the envz vector (envz,envz_len)       and returns the entry if found, or NULL if not.envz_get() looks forname in the envz vector (envz,envz_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 forname without       '=' sign.)envz_merge() adds each entry inenvz2 to*envz, as if withenvz_add().  Ifoverride is true, then values inenvz2 will       supersede those with the same name in*envz, otherwise not.envz_remove() removes the entry forname from (*envz,*envz_len)       if there was one.envz_strip() removes all entries with value NULL.

RETURN VALUE        top

       All envz functions that do memory allocation have a return type oferror_t (an integer type), and return 0 for success, andENOMEMif       an allocation error occurs.

ATTRIBUTES        top

       For an explanation of the terms used in this section, seeattributes(7).       ┌──────────────────────────────────────┬───────────────┬─────────┐       │InterfaceAttributeValue│       ├──────────────────────────────────────┼───────────────┼─────────┤       │envz_add(),envz_entry(),            │ Thread safety │ MT-Safe │       │envz_get(),envz_merge(),            │               │         │       │envz_remove(),envz_strip()          │               │         │       └──────────────────────────────────────┴───────────────┴─────────┘

STANDARDS        top

       GNU.

EXAMPLES        top

       #include <envz.h>       #include <stdio.h>       #include <stdlib.h>       int       main(int argc, char *argv[], char *envp[])       {           char    *str;           size_t  e_len = 0;           for (size_t 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        top

argz_add(3)

COLOPHON        top

       This page is part of theman-pages (Linux kernel and C library       user-space interface documentation) project.  Information about       the project can be found at        ⟨https://www.kernel.org/doc/man-pages/⟩.  If you have a bug report       for this manual page, see       ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.       This page was obtained from the tarball man-pages-6.15.tar.gz       fetched from       ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on       2025-08-11.  If you discover any rendering problems in this HTML       version of the page, or you believe there is a better or more up-       to-date source for the page, or you have corrections or       improvements to the information in this COLOPHON (which isnot       part of the original manual page), send a mail to       man-pages@man7.orgLinux man-pages 6.15            2025-05-17envz_add(3)

Pages that refer to this page:argz_add(3)



HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface.

For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere.

Hosting byjambit GmbH.

Cover of TLPI


[8]ページ先頭

©2009-2025 Movatter.jp