Module Name: src
Committed By: bouyer
Date: Tue Aug 18 10:15:45 UTC 2009
Modified Files:
src/usr.bin/printenv [netbsd-4]: printenv.c
Log Message:
Pull up following revision(s) (requested by dholland in ticket #1343):
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.8 -r1.8.18.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.8 src/usr.bin/printenv/printenv.c:1.8.18.1
--- src/usr.bin/printenv/printenv.c:1.8 Thu Aug 7 11:15:31 2003
+++ src/usr.bin/printenv/printenv.c Tue Aug 18 10:15:45 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: printenv.c,v 1.8 2003/08/07 11:15:31 agc Exp $ */
+/* $NetBSD: printenv.c,v 1.8.18.1 2009/08/18 10:15:45 bouyer 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.8 2003/08/07 11:15:31 agc Exp $");
+__RCSID("$NetBSD: printenv.c,v 1.8.18.1 2009/08/18 10:15:45 bouyer 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);
}