summaryrefslogtreecommitdiffstats
path: root/usr.bin
diff options
context:
space:
mode:
authormike <mike@FreeBSD.org>2002-02-21 02:17:57 +0000
committermike <mike@FreeBSD.org>2002-02-21 02:17:57 +0000
commit630fb4534bc720dbf66fbed7b2f2b99da68a8c27 (patch)
tree019a41eab7148a53aa383d382338582c792d5052 /usr.bin
parentd4fb4b6c57e2fe3fc6ff6d3bfc8f3b97d3501b89 (diff)
downloadFreeBSD-src-630fb4534bc720dbf66fbed7b2f2b99da68a8c27.zip
FreeBSD-src-630fb4534bc720dbf66fbed7b2f2b99da68a8c27.tar.gz
Use new ID scheme.
Fix env(1)'s exit status to conform with SUSv3. Submitted by: Tim Robbins <tim@robbins.dropbear.id.au> MFC after: 2 weeks
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/env/env.c12
-rw-r--r--usr.bin/printenv/printenv.121
2 files changed, 24 insertions, 9 deletions
diff --git a/usr.bin/env/env.c b/usr.bin/env/env.c
index 42ec003..df6153d 100644
--- a/usr.bin/env/env.c
+++ b/usr.bin/env/env.c
@@ -31,17 +31,23 @@
* SUCH DAMAGE.
*/
+#if 0
#ifndef lint
-static const char copyright[] =
+static char copyright[] =
"@(#) Copyright (c) 1988, 1993, 1994\n\
The Regents of the University of California. All rights reserved.\n";
#endif /* not lint */
#ifndef lint
-static const char sccsid[] = "@(#)env.c 8.3 (Berkeley) 4/2/94";
+static char sccsid[] = "@(#)env.c 8.3 (Berkeley) 4/2/94";
#endif /* not lint */
+#endif
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
#include <err.h>
+#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
@@ -75,7 +81,7 @@ main(argc, argv)
(void)setenv(*argv, ++p, 1);
if (*argv) {
execvp(*argv, argv);
- err(1, "%s", *argv);
+ err(errno == ENOENT ? 127 : 126, "%s", *argv);
}
for (ep = environ; *ep; ep++)
(void)printf("%s\n", *ep);
diff --git a/usr.bin/printenv/printenv.1 b/usr.bin/printenv/printenv.1
index b4fb31f..eb34cb6 100644
--- a/usr.bin/printenv/printenv.1
+++ b/usr.bin/printenv/printenv.1
@@ -57,12 +57,6 @@ If
is specified, only
its value is printed.
.Pp
-If a
-.Ar name
-is specified and it is not defined in the environment,
-.Nm
-returns exit status 1, else it returns status 0.
-.Pp
Some shells may provide a builtin
.Nm
command which is similar or identical to this utility.
@@ -122,11 +116,26 @@ this way also allows one to reference
.Pa foo
without the path,
as well as set up the environment as desired.
+.Sh DIAGNOSTICS
+.Ex -std printenv
+.Pp
+.Ex -std env
+An exit status of 126 indicates
+.Ar command
+was found, but could not be executed.
+An exit status of 127 indicates
+.Ar command
+could not be found.
.Sh SEE ALSO
.Xr csh 1 ,
.Xr sh 1 ,
.Xr execvp 3 ,
.Xr environ 7
+.Sh STANDARDS
+The
+.Nm env
+utility conforms to
+.St -p1003.1-2001 .
.Sh HISTORY
The
.Nm
OpenPOWER on IntegriCloud