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

  1. /* Copyright (c) 1979 Regents of the University of California */
  2. /* will work on v7 only */
  3. /*
  4.  * printenv
  5.  *
  6.  * Bill Joy, UCB
  7.  * February, 1979
  8.  */
  9.  
  10. extern    char **environ;
  11.  
  12. main(argc, argv)
  13.     int argc;
  14.     char *argv[];
  15. {
  16.     register char **ep;
  17.     int found = 0;
  18.  
  19.     argc--, argv++;
  20.     if (environ)
  21.         for (ep = environ; *ep; ep++)
  22.             if (argc == 0 || prefix(argv[0], *ep)) {
  23.                 register char *cp = *ep;
  24.  
  25.                 found++;
  26.                 if (argc) {
  27.                     while (*cp && *cp != '=')
  28.                         cp++;
  29.                     if (*cp == '=')
  30.                         cp++;
  31.                 }
  32.                 printf("%s\n", cp);
  33.             }
  34.     exit (!found);
  35. }
  36.  
  37. prefix(cp, dp)
  38.     char *cp, *dp;
  39. {
  40.  
  41.     while (*cp && *dp && *cp == *dp)
  42.         cp++, dp++;
  43.     if (*cp == 0)
  44.         return (1);
  45.     return (0);
  46. }
  47.