Index: printenv.c =================================================================== --- printenv.c (revision 303656) +++ printenv.c (working copy) @@ -62,7 +62,6 @@ main(int argc, char *argv[]) { char *cp, **ep; - size_t len; int ch; while ((ch = getopt(argc, argv, "")) != -1) @@ -79,15 +78,10 @@ (void)printf("%s\n", *ep); exit(0); } - len = strlen(*argv); - for (ep = environ; *ep; ep++) - if (!memcmp(*ep, *argv, len)) { - cp = *ep + len; - if (!*cp || *cp == '=') { - (void)printf("%s\n", *cp ? cp + 1 : cp); - exit(0); - } - } + if ((cp = getenv(*argv))) { + (void)printf("%s\n", cp); + exit(0); + } exit(1); }