aboutsummaryrefslogtreecommitdiff
path: root/toys/env.c
diff options
context:
space:
mode:
Diffstat (limited to 'toys/env.c')
-rw-r--r--toys/env.c52
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);
-}