summaryrefslogtreecommitdiff
path: root/src/lib/libast/man/setenviron.3
blob: 818f7fc0d49683944efd24c358e5b9ff2130b3ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
.fp 5 CW
.de Af
.ds ;G \\*(;G\\f\\$1\\$3\\f\\$2
.if !\\$4 .Af \\$2 \\$1 "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
..
.de aF
.ie \\$3 .ft \\$1
.el \{\
.ds ;G \&
.nr ;G \\n(.f
.Af "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
\\*(;G
.ft \\n(;G \}
..
.de L
.aF 5 \\n(.f "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
..
.de LR
.aF 5 1 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
..
.de RL
.aF 1 5 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
..
.de EX		\" start example
.ta 1i 2i 3i 4i 5i 6i
.PP
.RS 
.PD 0
.ft 5
.nf
..
.de EE		\" end example
.fi
.ft
.PD
.RE
.PP
..
.TH LIBAST 3
.SH NAME
setenviron \- set environment value
.SH SYNOPSIS
.EX
#include <ast.h>

char*     setenviron(const char* \fIkey\fP);
.EE
.SH DESCRIPTION
.L setenviron
controls environment
.I name=value
pairs.
.L setenviron("\fIname=value\fP")
adds
.I name
to the environment and returns a pointer to a
.IR strdup (3)
copy of
.IR name=value .
.L setenviron("\fIname\fP")
removes
.I name
from the environment and returns the empty string.
.L setenviron(0)
reserves a few slots in an internal array and is usually called by
a parent process that expects many children.
0 is returned on error.
.L setenviron
preserves the
.IR ksh (1)
convention of
.L _
as the first environment variable name.
.SH "SEE ALSO"
env(1), exec(2)
.SH BUGS
POSIX will eventually settle on an interface.
It has already picked a few of the names we did in .2 drafts.
This is about the third name change for ours.