diff options
Diffstat (limited to 'toys/env.c')
-rw-r--r-- | toys/env.c | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/toys/env.c b/toys/env.c deleted file mode 100644 index 7cda85f9..00000000 --- a/toys/env.c +++ /dev/null @@ -1,52 +0,0 @@ -/* vi: set sw=4 ts=4: - * - * env.c - Set the environment for command invocation. - * - * Copyright 2012 Tryn Mirell <tryn@mirell.org> - * env.c - -USE_ENV(NEWTOY(env, "^i", TOYFLAG_USR|TOYFLAG_BIN)) - -config ENV - bool "env" - default y - help - usage: env [-i] [NAME=VALUE...] [command [option...]] - - Set the environment for command invocation. - - -i Clear existing environment. -*/ - -#include "toys.h" - -extern char **environ; - -void env_main(void) -{ - char **ev; - char **command = NULL; - char *del = "="; - - if (toys.optflags & 1) clearenv(); - - for (ev = toys.optargs; *ev != NULL; ev++) { - char *env, *val = NULL; - - env = strtok(*ev, del); - - if (env) val = strtok(NULL, del); - - if (val) setenv(env, val, 1); - else { - command = ev; - break; - } - } - - if (!command) { - char **ep; - for (ep = environ; *ep; ep++) xputs(*ep); - return; - } else xexec(command); -} |