1
0
mirror of https://github.com/tmux/tmux.git synced 2025-03-28 01:08:53 +00:00

Simplify environ_push so it doesn't need the ARRAY_* functions.

This commit is contained in:
nicm 2015-05-07 07:35:31 +00:00
parent b6be03f01a
commit 73c871ba0a

View File

@ -157,23 +157,16 @@ environ_update(const char *vars, struct environ *srcenv,
void void
environ_push(struct environ *env) environ_push(struct environ *env)
{ {
ARRAY_DECL(, char *) varlist; struct environ_entry *envent;
struct environ_entry *envent; char **vp, *v;
char **varp, *var;
u_int i;
ARRAY_INIT(&varlist); for (vp = environ; *vp != NULL; vp++) {
for (varp = environ; *varp != NULL; varp++) { v = xstrdup(*vp);
var = xstrdup(*varp); v[strcspn(v, "=")] = '\0';
var[strcspn(var, "=")] = '\0';
ARRAY_ADD(&varlist, var); unsetenv(v);
free(v);
} }
for (i = 0; i < ARRAY_LENGTH(&varlist); i++) {
var = ARRAY_ITEM(&varlist, i);
unsetenv(var);
free(var);
}
ARRAY_FREE(&varlist);
RB_FOREACH(envent, environ, env) { RB_FOREACH(envent, environ, env) {
if (envent->value != NULL) if (envent->value != NULL)