CLEARENV(3)

名前
clearenv - 環境 (environment) をクリアする

書式
#include <stdlib.h>

int clearenv(void);

glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

clearenv(): _SVID_SOURCE || _BSD_SOURCE

説明
clearenv() 関数は、名前と値が組になった全ての環境をクリアする。 さらに外部変数 environ の値を NULL にする。

返り値
clearenv() 関数は、成功した場合は 0 を返し、 失敗した場合は 0 以外を返す。

バージョン
libc4, libc5 では使用できない。 glibc 2.0 以降の glibc で使用できる。

準拠
(DG/UX, HP-UX, QNX, などの) 多くの UNIX 系 OS。 (FORTRAN77 へのバインディングである) POSIX.9。 POSIX.1-1996 では clearenv() と putenv(3) は採用されなかったが、 方針が変更され、この標準規格の以降の号 (B.4.6.1 を参照) では 採用されることになった。 しかし POSIX.1-2001 では putenv(3) だけが追加され、 clearenv() の追加は否決された。

注意
この関数はセキュリティに考慮したアプリケーションで使われる。 この関数が使用できない場合は、
    environ = NULL;
というように変数 environ を設定すればよい。

DG/UX と Tru64 man ページには次のように記されている： environ が putenv(3), getenv(3), clearenv() 関数以外で変更された場合、 clearenv() はエラーを返し、プロセス環境は変更前のままにされる。

関連項目
getenv(3), putenv(3), setenv(3), unsetenv(3), environ(7)

この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。