home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Distributions / ucb / spencer_2bsd.tar.gz / 2bsd.tar / upgrade / src / printenv.c < prev    next >
C/C++ Source or Header  |  1980-02-17  |  608b  |  46 lines

  1. #include <retrofit.h>
  2.  
  3. main(argc, argv)
  4.     int argc;
  5.     char *argv[];
  6. {
  7.  
  8.     argc--, argv++;
  9.     if (argc > 0) {
  10.         do
  11.             printenv(*argv++);
  12.         while (--argc > 0);
  13.     } else {
  14.         printenv("HOME");
  15.         printenv("TERM");
  16.     }
  17.     exit(0);
  18. }
  19.  
  20. printenv(cp)
  21.     char *cp;
  22. {
  23.     if (!strcmp(cp, "TERM")) {
  24.         char buf[512];
  25.         cp = getenv("TERM");
  26.         if (tgetent(buf, cp) > 0)
  27.             cp = longname(buf);
  28.         printf("TERM=%s\n", cp);
  29.     } else if (!strcmp(cp, "HOME"))
  30.         printf("HOME=%s\n", getenv("HOME"));
  31. }
  32.  
  33. longname(cp)
  34.     char *cp;
  35. {
  36.     char *dp = cp;
  37.  
  38.     while (*dp && *dp != ':') {
  39.         if (*dp == '|')
  40.             cp = dp + 1;
  41.         dp++;
  42.     }
  43.     *dp = 0;
  44.     return (cp);
  45. }
  46.