printenv.c (486B)
1 /* See LICENSE file for copyright and license details. */ 2 #include <stdio.h> 3 #include <stdlib.h> 4 5 #include "util.h" 6 7 extern char **environ; 8 9 int 10 main(int argc, char *argv[]) 11 { 12 char *var; 13 int ret = 0; 14 15 argv0 = *argv, argv0 ? (argc--, argv++) : (void *)0; 16 17 if (!argc) { 18 for (; *environ; environ++) 19 puts(*environ); 20 } else { 21 for (; *argv; argc--, argv++) { 22 if ((var = getenv(*argv))) 23 puts(var); 24 else 25 ret = 1; 26 } 27 } 28 29 return fshut(stdout, "<stdout>") ? 2 : ret; 30 }