Commit | Line | Data |
---|---|---|
18745775 BJ |
1 | static char *sccsid = "@(#)printenv.c 4.1 (Berkeley) %G%"; |
2 | /* | |
3 | * printenv | |
4 | * | |
5 | * Bill Joy, UCB | |
6 | * February, 1979 | |
7 | */ | |
8 | ||
9 | extern char **environ; | |
10 | ||
11 | main(argc, argv) | |
12 | int argc; | |
13 | char *argv[]; | |
14 | { | |
15 | register char **ep; | |
16 | int found = 0; | |
17 | ||
18 | argc--, argv++; | |
19 | if (environ) | |
20 | for (ep = environ; *ep; ep++) | |
21 | if (argc == 0 || prefix(argv[0], *ep)) { | |
22 | register char *cp = *ep; | |
23 | ||
24 | found++; | |
25 | if (argc) { | |
26 | while (*cp && *cp != '=') | |
27 | cp++; | |
28 | if (*cp == '=') | |
29 | cp++; | |
30 | } | |
31 | printf("%s\n", cp); | |
32 | } | |
33 | exit (!found); | |
34 | } | |
35 | ||
36 | prefix(cp, dp) | |
37 | char *cp, *dp; | |
38 | { | |
39 | ||
40 | while (*cp && *dp && *cp == *dp) | |
41 | cp++, dp++; | |
42 | if (*cp == 0) | |
43 | return (*dp == '='); | |
44 | return (0); | |
45 | } |