Man page - envz_remove(3)

Packages contains this manual

Available languages:

en fr es ja ro

Manual

ENVZ_ADD

名 前
書 åŧ
čĒŦ 明
čŋ” り 値
åąž 性
æē– 拠
例
é–ĸ 逪 項 į›Ž
こ ぎ 文 書 ãĢ つ い ãĻ

名 前

envz_add, envz_entry, envz_get, envz_merge, envz_remove, envz_strip - į’° åĸƒ 変 数 文 字 列 ぎ 操 äŊœ

書 åŧ

#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 );

čĒŦ 明

こ れ ら ぎ é–ĸ 数 は glibc å›ē 有 で あ る 。

argz vector は 長 さ 情 å ą äģ˜ ã ぎ 文 字 バ ッ フ ã‚Ą ãƒŧ へ ぎ ポ イ ãƒŗ ã‚ŋ ãƒŧ で あ る 。 argz_add (3) を 参 į…§ ぎ こ と 。 envz vector は 、 文 字 列 が "name=value (名 前 =値 )" ぎ åŊĸ åŧ ãĢ ãĒ ãŖ ãĻ い る į‰š åˆĨ ãĒ argz vector で あ る 。 最 初 ぎ '=' äģĨ 降 は す ず ãĻ 値 と ãŋ ãĒ さ れ る 。 '=' が ãĒ け れ ば 、 値 は NULL と č§Ŗ 釈 さ れ る 。 (文 字 列 ぎ 一 į•Ē 最 垌 ぎ 文 字 が '=' ぎ å ´ 合 、 値 は įŠē 文 字 列 "" と č§Ŗ 釈 さ れ る 。 )

こ れ ら ぎ é–ĸ 数 は envz vector を 操 äŊœ す る た め ぎ も ぎ で あ る 。

envz_add () は 、 文 字 列 " name = value " ( value が NULL で ãĒ い å ´ 合 ) ぞ た は " name " ( value が NULL ぎ å ´ 合 ) を envz vector ( *envz , *envz_len ) ãĢ čŋŊ 加 し 、 *envz と *envz_len を 更 新 す る 。 name と 同 じ 名 前 を 持 つ エ ãƒŗ ト ãƒĒ ãƒŧ が あ ãŖ た å ´ 合 、 元 ぎ エ ãƒŗ ト ãƒĒ ãƒŧ は 削 除 さ れ る 。

envz_entry () は 、 envz vector ( envz , envz_len ) か ら 名 前 が name ぎ エ ãƒŗ ト ãƒĒ ãƒŧ を 検 į´ĸ す る 。 čĻ‹ つ か ãŖ た å ´ 合 は そ ぎ エ ãƒŗ ト ãƒĒ ãƒŧ を čŋ” し 、 čĻ‹ つ か ら ãĒ か ãŖ た å ´ 合 は NULL を čŋ” す 。

envz_get () は 、 envz vector ( envz , envz_len ) か ら 名 前 が name ぎ エ ãƒŗ ト ãƒĒ ãƒŧ を 検 į´ĸ す る 。 čĻ‹ つ か ãŖ た å ´ 合 は エ ãƒŗ ト ãƒĒ ãƒŧ ぎ 値 を čŋ” し 、 čĻ‹ つ か ら ãĒ か ãŖ た å ´ 合 は NULL を čŋ” す 。 (値 は NULL ぎ å ´ 合 も あ る こ と ãĢ æŗ¨ 意 す る こ と 。 名 前 が name ぎ エ ãƒŗ ト ãƒĒ ãƒŧ ãĢ '=' įŦĻ åˇ が ãĒ い å ´ 合 が 芲 åŊ“ す る 。 )

envz_merge () は 、 envz_add () と 同 じ よ う ãĢ envz2 ぎ 各 エ ãƒŗ ト ãƒĒ ãƒŧ を *envz ãĢ čŋŊ 加 す る 。 override が ᜟ ぎ å ´ 合 、 envz2 ぎ 値 で *envz 内 ぎ 同 じ 名 前 を も つ 値 は 上 書 き さ れ る 。 åŊ ぎ å ´ 合 は 上 書 き さ れ ãĒ い 。

envz_remove () は 、 名 前 が name ぎ エ ãƒŗ ト ãƒĒ ãƒŧ が あ れ ば ( *envz , *envz_len ) か ら 削 除 す る 。

envz_strip () は 、 値 が NULL ぎ エ ãƒŗ ト ãƒĒ ãƒŧ を す ず ãĻ 削 除 す る 。

čŋ” り 値

ãƒĄ ãƒĸ ãƒĒ ãƒŧ 剞 り åŊ“ ãĻ を 行 う envz é–ĸ 数 įž¤ は す ず ãĻ error_t 型 (integer 型 ) ぎ čŋ” り 値 を 持 つ 。 成 功 し た å ´ 合 は 0 を čŋ” し 、 剞 り åŊ“ ãĻ エ ナ ãƒŧ が į™ē į”Ÿ し た å ´ 合 は ENOMEM を čŋ” す 。

åąž 性

こ ぎ ᝀ で äŊŋ ᔍ さ れ ãĻ い る ᔍ čĒž ぎ čĒŦ 明 ãĢ つ い ãĻ は 、 attributes (7) を 参 į…§ 。

Image grohtml-16218-1.png

æē– 拠

こ れ ら ぎ é–ĸ 数 は GNU ãĢ よ る æ‹Ą åŧĩ で あ る 。

例

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

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

for (int 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);
}

é–ĸ 逪 項 į›Ž

argz_add (3)

こ ぎ 文 書 ãĢ つ い ãĻ

こ ぎ man ペ ãƒŧ ジ は Linux man-pages プ ロ ジ ェ ク ト ぎ ãƒĒ ãƒĒ ãƒŧ ゚ 5.10 ぎ 一 部 で あ る 。 プ ロ ジ ェ ク ト ぎ čĒŦ 明 と バ グ å ą 告 ãĢ é–ĸ す る 情 å ą は https://www.kernel.org/doc/man-pages/ ãĢ 書 か れ ãĻ い る 。