diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2020-11-03 08:35:52 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2020-11-03 08:35:52 +0000 |
commit | ba9962b568dd111455963c88b0458cf8847c9690 (patch) | |
tree | a13a66498befbd75237a3a7a3869ccd2c52b8452 /environ.c | |
parent | 733abfcfc5b05cb3e1f2cf08f00a9325c6f6fa04 (diff) | |
parent | ff53eed402abb146096673963da39b5036a5c861 (diff) | |
download | rtmux-ba9962b568dd111455963c88b0458cf8847c9690.tar.gz rtmux-ba9962b568dd111455963c88b0458cf8847c9690.tar.bz2 rtmux-ba9962b568dd111455963c88b0458cf8847c9690.zip |
Merge branch 'master' into 3.2-rc
Diffstat (limited to 'environ.c')
-rw-r--r-- | environ.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -18,6 +18,7 @@ #include <sys/types.h> +#include <fnmatch.h> #include <stdlib.h> #include <string.h> #include <unistd.h> @@ -191,7 +192,11 @@ environ_update(struct options *oo, struct environ *src, struct environ *dst) a = options_array_first(o); while (a != NULL) { ov = options_array_item_value(a); - if ((envent = environ_find(src, ov->string)) == NULL) + RB_FOREACH(envent, environ, src) { + if (fnmatch(ov->string, envent->name, 0) == 0) + break; + } + if (envent == NULL) environ_clear(dst, ov->string); else environ_set(dst, envent->name, 0, "%s", envent->value); |