=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/environ.c,v retrieving revision 1.12 retrieving revision 1.13 diff -c -r1.12 -r1.13 *** src/usr.bin/tmux/environ.c 2016/01/19 15:59:12 1.12 --- src/usr.bin/tmux/environ.c 2016/05/26 12:15:42 1.13 *************** *** 1,4 **** ! /* $OpenBSD: environ.c,v 1.12 2016/01/19 15:59:12 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: environ.c,v 1.13 2016/05/26 12:15:42 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott *************** *** 195,213 **** void environ_push(struct environ *env) { ! struct environ_entry *envent; ! char *v; ! while (*environ != NULL) { ! v = xstrdup(*environ); ! v[strcspn(v, "=")] = '\0'; ! ! unsetenv(v); ! free(v); ! } ! RB_FOREACH(envent, environ, env) { ! if (envent->value != NULL) setenv(envent->name, envent->value, 1); } } --- 195,205 ---- void environ_push(struct environ *env) { ! struct environ_entry *envent; ! environ = xcalloc(1, sizeof *environ); RB_FOREACH(envent, environ, env) { ! if (envent->value != NULL && *envent->name != '\0') setenv(envent->name, envent->value, 1); } }