Module Name: src Committed By: snj Date: Tue Aug 4 20:01:54 UTC 2009
Modified Files: src/usr.bin/printenv [netbsd-5]: printenv.c Log Message: Pull up following revision(s) (requested by dholland in ticket #871): usr.bin/printenv/printenv.c: revision 1.10 (1) reject instead of ignore extra arguments; (2) reject requests for environment variables containing '=' (PR 41774, but with different patch) (3) fix capitalization of usage message To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.9.4.1 src/usr.bin/printenv/printenv.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/printenv/printenv.c diff -u src/usr.bin/printenv/printenv.c:1.9 src/usr.bin/printenv/printenv.c:1.9.4.1 --- src/usr.bin/printenv/printenv.c:1.9 Mon Jul 21 14:19:24 2008 +++ src/usr.bin/printenv/printenv.c Tue Aug 4 20:01:54 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: printenv.c,v 1.9 2008/07/21 14:19:24 lukem Exp $ */ +/* $NetBSD: printenv.c,v 1.9.4.1 2009/08/04 20:01:54 snj Exp $ */ /* * Copyright (c) 1987, 1993 @@ -37,7 +37,7 @@ #ifndef lint /*static char sccsid[] = "from: @(#)printenv.c 8.2 (Berkeley) 5/4/95";*/ -__RCSID("$NetBSD: printenv.c,v 1.9 2008/07/21 14:19:24 lukem Exp $"); +__RCSID("$NetBSD: printenv.c,v 1.9.4.1 2009/08/04 20:01:54 snj Exp $"); #endif /* not lint */ #include <sys/types.h> @@ -46,6 +46,7 @@ #include <stdio.h> #include <string.h> #include <unistd.h> +#include <err.h> int main __P((int, char **)); void usage __P((void)); @@ -80,6 +81,10 @@ (void)printf("%s\n", *ep); exit(0); } + if (argc != 1) + usage(); + if (strchr(*argv, '=') != NULL) + errx(1, "Invalid environment variable %s", *argv); len = strlen(*argv); for (ep = environ; *ep; ep++) if (!memcmp(*ep, *argv, len)) { @@ -95,6 +100,6 @@ void usage() { - (void)fprintf(stderr, "usage: printenv [name]\n"); + (void)fprintf(stderr, "Usage: printenv [name]\n"); exit(1); }