sbase

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

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 }