diff options
author | Thomas Adam <thomas@xteddy.org> | 2015-05-09 12:51:41 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2015-05-09 12:52:38 +0100 |
commit | 504b97b6a4314a7a052d9b05de746515e2a03628 (patch) | |
tree | 6b6316b7f7d35725bd0ce2377adae1847cc324da /environ.c | |
parent | 6525ca51584636ef781bda147d37d5d0d10899e0 (diff) | |
parent | 92faa2eaebd32117f01b0b7d7ae81abdfde2d935 (diff) | |
download | rtmux-504b97b6a4314a7a052d9b05de746515e2a03628.tar.gz rtmux-504b97b6a4314a7a052d9b05de746515e2a03628.tar.bz2 rtmux-504b97b6a4314a7a052d9b05de746515e2a03628.zip |
Merge branch 'obsd-master'
Conflicts:
tmux.h
Diffstat (limited to 'environ.c')
-rw-r--r-- | environ.c | 25 |
1 files changed, 9 insertions, 16 deletions
@@ -157,23 +157,16 @@ environ_update(const char *vars, struct environ *srcenv, void environ_push(struct environ *env) { - ARRAY_DECL(, char *) varlist; - struct environ_entry *envent; - char **varp, *var; - u_int i; - - ARRAY_INIT(&varlist); - for (varp = environ; *varp != NULL; varp++) { - var = xstrdup(*varp); - var[strcspn(var, "=")] = '\0'; - ARRAY_ADD(&varlist, var); - } - for (i = 0; i < ARRAY_LENGTH(&varlist); i++) { - var = ARRAY_ITEM(&varlist, i); - unsetenv(var); - free(var); + struct environ_entry *envent; + char **vp, *v; + + for (vp = environ; *vp != NULL; vp++) { + v = xstrdup(*vp); + v[strcspn(v, "=")] = '\0'; + + unsetenv(v); + free(v); } - ARRAY_FREE(&varlist); RB_FOREACH(envent, environ, env) { if (envent->value != NULL) |