Home | History | Annotate | Download | only in common

Lines Matching defs:ev

44 static void	env_discard(struct env_var *ev);
54 struct env_var *ev;
56 for (ev = environ; ev != NULL; ev = ev->ev_next)
57 if (!strcmp(ev->ev_name, name))
59 return(ev);
74 struct env_var *ev, *curr, *last;
76 if ((ev = env_getenv(name)) != NULL) {
81 if ((ev->ev_sethook != NULL) && !(flags & EV_NOHOOK))
82 return(ev->ev_sethook(ev, flags, value));
88 ev = alloc(sizeof(struct env_var));
89 ev->ev_name = strdup(name);
90 ev->ev_value = NULL;
92 ev->ev_sethook = sethook;
93 ev->ev_unsethook = unsethook;
96 ev->ev_prev = NULL;
97 ev->ev_next = NULL;
103 if (strcmp(ev->ev_name, curr->ev_name) < 0) {
105 curr->ev_prev->ev_next = ev;
107 environ = ev;
109 ev->ev_next = curr;
110 ev->ev_prev = curr->ev_prev;
111 curr->ev_prev = ev;
117 environ = ev;
119 last->ev_next = ev;
120 ev->ev_prev = last;
126 if (ev->ev_value != NULL)
127 free(ev->ev_value);
131 ev->ev_value = strdup(value);
133 ev->ev_value = (void *) value;
137 ev->ev_flags = flags & (EV_DYNAMIC);
145 struct env_var *ev;
148 if ((ev = env_getenv(name)) != NULL) {
149 if (ev->ev_value != NULL)
150 return(ev->ev_value);
182 struct env_var *ev;
186 if ((ev = env_getenv(name)) == NULL) {
189 if (ev->ev_unsethook != NULL)
190 err = ev->ev_unsethook(ev);
192 env_discard(ev);
199 env_discard(struct env_var *ev)
201 if (ev->ev_prev)
202 ev->ev_prev->ev_next = ev->ev_next;
203 if (ev->ev_next)
204 ev->ev_next->ev_prev = ev->ev_prev;
205 if (environ == ev)
206 environ = ev->ev_next;
207 free(ev->ev_name);
208 if (ev->ev_flags & EV_DYNAMIC)
209 free(ev->ev_value);
210 free(ev);
214 env_noset(struct env_var *ev, int flags, const void *value)
220 env_nounset(struct env_var *ev)