X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=utils%2Fenv%2Fenv.c;fp=utils%2Fenv%2Fenv.c;h=0000000000000000000000000000000000000000;hb=4476699b7c7de3abf9f6da71ed409b2c032dc50f;hp=f3ec296507eb2e756f4aa140ffc0757c187324a8;hpb=2e838897cc574a9147bcf0b1681aeeaa44001fce;p=pdutils diff --git a/utils/env/env.c b/utils/env/env.c deleted file mode 100644 index f3ec296..0000000 --- a/utils/env/env.c +++ /dev/null @@ -1,61 +0,0 @@ -#define _POSIX_C_SOURCE 200809L -#include -#include -#include -#include - -/* Public domain by Nathan Wagner */ - -extern char **environ; - -static void printenv() { - char **env; - for (env = environ; *env; env++) { - printf("%s\n", *env); - } -} - -static void clearenv() { - char var[1024]; /* TODO how long can the name be ? */ - char *s; - int i; - - while (*environ) { - i = 0; - s = *environ; - while (*s && *s != '=') { - var[i++] = *s++; - } - var[i] = 0; - unsetenv(var); - } -} - -int main(int ac, char *av[]) { - int arg; - arg = 1; - if (arg < ac && !strcmp(av[arg], "-i")) { - clearenv(); - arg++; - } - while (arg < ac) { - char *eq; - eq = strchr(av[arg], '='); - if (eq) { - *eq = 0; - setenv(av[arg], eq+1, 1); - *eq = '='; - } else { - break; - } - arg++; - } - - if (arg >= ac) { - printenv(); - return 0; - } - - execvp(av[arg], &av[arg]); - return 0; -}