summaryrefslogtreecommitdiffstats
path: root/usr.bin/dirname
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2000-09-06 07:28:02 +0000
committerdes <des@FreeBSD.org>2000-09-06 07:28:02 +0000
commit4cb6e07eff50cdac3f7749db23fbc6e2027d314f (patch)
tree4da8669e3a2cd66314db06abd2a235062b9df5b0 /usr.bin/dirname
parent96866cfa2a69b7cf5a7492ae65aff72e5e6eb5b1 (diff)
downloadFreeBSD-src-4cb6e07eff50cdac3f7749db23fbc6e2027d314f.zip
FreeBSD-src-4cb6e07eff50cdac3f7749db23fbc6e2027d314f.tar.gz
Reintroduce functionality and error checks that were boneheadedly removed
in the previous commit. Pass me the pointy hat. PR: bin/21061
Diffstat (limited to 'usr.bin/dirname')
-rw-r--r--usr.bin/dirname/dirname.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/usr.bin/dirname/dirname.c b/usr.bin/dirname/dirname.c
index cb5adbd..f9d3e3d 100644
--- a/usr.bin/dirname/dirname.c
+++ b/usr.bin/dirname/dirname.c
@@ -43,6 +43,7 @@ static const char copyright[] =
static const char sccsid[] = "@(#)dirname.c 8.4 (Berkeley) 5/4/95";
#endif /* not lint */
+#include <err.h>
#include <libgen.h>
#include <stdio.h>
#include <unistd.h>
@@ -54,6 +55,7 @@ main(argc, argv)
int argc;
char **argv;
{
+ char *p;
int ch;
while ((ch = getopt(argc, argv, "")) != -1)
@@ -68,7 +70,9 @@ main(argc, argv)
if (argc != 1)
usage();
- (void)printf("%s\n", dirname(*argv));
+ if ((p = dirname(*argv)) == NULL)
+ err(1, "%s", *argv);
+ (void)printf("%s\n", p);
exit(0);
}
OpenPOWER on IntegriCloud