1
0
mirror of https://github.com/tmux/tmux.git synced 2025-04-23 12:58:50 +00:00

Just nuke environ instead of trying to unsetenv everything because that

doesn't necessarily work if there is an entry with an empty name.
This commit is contained in:
nicm 2016-05-26 12:15:42 +00:00
parent 95a4cc3bce
commit cd14ac0486

View File

@ -195,19 +195,11 @@ environ_update(const char *vars, struct environ *srcenv,
void void
environ_push(struct environ *env) environ_push(struct environ *env)
{ {
struct environ_entry *envent; struct environ_entry *envent;
char *v;
while (*environ != NULL) {
v = xstrdup(*environ);
v[strcspn(v, "=")] = '\0';
unsetenv(v);
free(v);
}
environ = xcalloc(1, sizeof *environ);
RB_FOREACH(envent, environ, env) { RB_FOREACH(envent, environ, env) {
if (envent->value != NULL) if (envent->value != NULL && *envent->name != '\0')
setenv(envent->name, envent->value, 1); setenv(envent->name, envent->value, 1);
} }
} }