diff options
author | rgrimes <rgrimes@FreeBSD.org> | 1994-10-09 20:28:31 +0000 |
---|---|---|
committer | rgrimes <rgrimes@FreeBSD.org> | 1994-10-09 20:28:31 +0000 |
commit | 162fb0a314dd6710aec3360de1d1b267c23eab9b (patch) | |
tree | be14d95cb56debd28cb3f95b1b3b8997eb516fa8 /usr.sbin/mtree/mtree.c | |
parent | 0c0e5e4cbf54b34e02183e61af87b14ca5904e05 (diff) | |
download | FreeBSD-src-162fb0a314dd6710aec3360de1d1b267c23eab9b.zip FreeBSD-src-162fb0a314dd6710aec3360de1d1b267c23eab9b.tar.gz |
Add -U option which does the same things as -u except exits with 0
instead of 2 on MISMATCH.
Diffstat (limited to 'usr.sbin/mtree/mtree.c')
-rw-r--r-- | usr.sbin/mtree/mtree.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/usr.sbin/mtree/mtree.c b/usr.sbin/mtree/mtree.c index 9f5aad6..349dbb9 100644 --- a/usr.sbin/mtree/mtree.c +++ b/usr.sbin/mtree/mtree.c @@ -53,7 +53,7 @@ static char sccsid[] = "@(#)mtree.c 8.1 (Berkeley) 6/6/93"; extern long int crc_total; int ftsoptions = FTS_PHYSICAL; -int cflag, dflag, eflag, iflag, nflag, rflag, sflag, uflag; +int cflag, dflag, eflag, iflag, nflag, rflag, sflag, uflag, Uflag; u_short keys; char fullpath[MAXPATHLEN]; @@ -68,10 +68,11 @@ main(argc, argv) extern char *optarg; int ch; char *dir, *p; + int status; dir = NULL; keys = KEYDEFAULT; - while ((ch = getopt(argc, argv, "cdef:iK:k:np:rs:ux")) != EOF) + while ((ch = getopt(argc, argv, "cdef:iK:k:np:rs:Uux")) != EOF) switch((char)ch) { case 'c': cflag = 1; @@ -114,6 +115,10 @@ main(argc, argv) crc_total = ~strtol(optarg, &p, 0); if (*p) err("illegal seed value -- %s", optarg); + case 'U': + Uflag = 1; + uflag = 1; + break; case 'u': uflag = 1; break; @@ -140,13 +145,16 @@ main(argc, argv) cwalk(); exit(0); } - exit(verify()); + status = verify(); + if (Uflag & (status == MISMATCHEXIT)) + status = 0; + exit(status); } static void usage() { (void)fprintf(stderr, -"usage: mtree [-cdeinrux] [-f spec] [-K key] [-k key] [-p path] [-s seed]\n"); +"usage: mtree [-cdeinrUux] [-f spec] [-K key] [-k key] [-p path] [-s seed]\n"); exit(1); } |