Lines Matching refs:ev

47 	struct env_var	*ev;  in env_getenv()  local
49 for (ev = environ; ev != NULL; ev = ev->ev_next) in env_getenv()
50 if (strcmp(ev->ev_name, name) == 0) in env_getenv()
52 return (ev); in env_getenv()
67 struct env_var *ev, *curr, *last; in env_setenv() local
69 if ((ev = env_getenv(name)) != NULL) { in env_setenv()
74 if ((ev->ev_sethook != NULL) && !(flags & EV_NOHOOK)) in env_setenv()
75 return (ev->ev_sethook(ev, flags, value)); in env_setenv()
78 if (ev->ev_value != NULL && (ev->ev_flags & EV_DYNAMIC) != 0) in env_setenv()
79 free(ev->ev_value); in env_setenv()
80 ev->ev_value = NULL; in env_setenv()
81 ev->ev_flags &= ~EV_DYNAMIC; in env_setenv()
87 ev = malloc(sizeof (struct env_var)); in env_setenv()
88 ev->ev_name = strdup(name); in env_setenv()
89 ev->ev_value = NULL; in env_setenv()
90 ev->ev_flags = 0; in env_setenv()
92 ev->ev_sethook = sethook; in env_setenv()
93 ev->ev_unsethook = unsethook; in env_setenv()
96 ev->ev_prev = NULL; in env_setenv()
97 ev->ev_next = NULL; in env_setenv()
102 if (strcmp(ev->ev_name, curr->ev_name) < 0) { in env_setenv()
104 curr->ev_prev->ev_next = ev; in env_setenv()
106 environ = ev; in env_setenv()
108 ev->ev_next = curr; in env_setenv()
109 ev->ev_prev = curr->ev_prev; in env_setenv()
110 curr->ev_prev = ev; in env_setenv()
116 environ = ev; in env_setenv()
118 last->ev_next = ev; in env_setenv()
119 ev->ev_prev = last; in env_setenv()
126 ev->ev_value = strdup(value); in env_setenv()
127 ev->ev_flags |= EV_DYNAMIC; in env_setenv()
129 ev->ev_value = (char *)value; in env_setenv()
130 ev->ev_flags |= flags & EV_DYNAMIC; in env_setenv()
139 struct env_var *ev; in getenv() local
142 if ((ev = env_getenv(name)) != NULL) { in getenv()
143 if (ev->ev_value != NULL) in getenv()
144 return (ev->ev_value); in getenv()
176 struct env_var *ev; in unsetenv() local
180 if ((ev = env_getenv(name)) == NULL) { in unsetenv()
183 if (ev->ev_unsethook != NULL) in unsetenv()
184 err = ev->ev_unsethook(ev); in unsetenv()
186 env_discard(ev); in unsetenv()
193 env_discard(struct env_var *ev) in env_discard() argument
195 if (ev->ev_prev) in env_discard()
196 ev->ev_prev->ev_next = ev->ev_next; in env_discard()
197 if (ev->ev_next) in env_discard()
198 ev->ev_next->ev_prev = ev->ev_prev; in env_discard()
199 if (environ == ev) in env_discard()
200 environ = ev->ev_next; in env_discard()
201 free(ev->ev_name); in env_discard()
202 if (ev->ev_value != NULL && (ev->ev_flags & EV_DYNAMIC) != 0) in env_discard()
203 free(ev->ev_value); in env_discard()
204 free(ev); in env_discard()
208 env_noset(struct env_var *ev __unused, int flags __unused, in env_noset()
215 env_nounset(struct env_var *ev __unused) in env_nounset()