diff options
Diffstat (limited to 'usr.sbin/fmtree/mtree.c')
-rw-r--r-- | usr.sbin/fmtree/mtree.c | 191 |
1 files changed, 0 insertions, 191 deletions
diff --git a/usr.sbin/fmtree/mtree.c b/usr.sbin/fmtree/mtree.c deleted file mode 100644 index e90a5bbca1d3..000000000000 --- a/usr.sbin/fmtree/mtree.c +++ /dev/null @@ -1,191 +0,0 @@ -/*- - * Copyright (c) 1989, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if 0 -#ifndef lint -static const char copyright[] = -"@(#) Copyright (c) 1989, 1990, 1993\n\ - The Regents of the University of California. All rights reserved.\n"; -#endif /* not lint */ - -#ifndef lint -static char sccsid[] = "@(#)mtree.c 8.1 (Berkeley) 6/6/93"; -#endif /* not lint */ -#endif -#include <sys/cdefs.h> -__FBSDID("$FreeBSD$"); - -#include <sys/param.h> -#include <sys/stat.h> -#include <err.h> -#include <errno.h> -#include <fts.h> -#include <stdio.h> -#include <unistd.h> -#include "mtree.h" -#include "extern.h" - -int ftsoptions = FTS_PHYSICAL; -int dflag, eflag, iflag, nflag, qflag, rflag, sflag, uflag, wflag; -static int cflag, Uflag; -u_int keys; -char fullpath[MAXPATHLEN]; - -static void usage(void); - -int -main(int argc, char *argv[]) -{ - int ch; - char *dir, *p; - int status; - FILE *spec1, *spec2; - - dir = NULL; - keys = KEYDEFAULT; - init_excludes(); - spec1 = stdin; - spec2 = NULL; - - while ((ch = getopt(argc, argv, "cdef:iK:k:LnPp:qrs:UuwxX:")) != -1) - switch((char)ch) { - case 'c': - cflag = 1; - break; - case 'd': - dflag = 1; - break; - case 'e': - eflag = 1; - break; - case 'f': - if (spec1 == stdin) { - spec1 = fopen(optarg, "r"); - if (spec1 == NULL) - err(1, "%s", optarg); - } else if (spec2 == NULL) { - spec2 = fopen(optarg, "r"); - if (spec2 == NULL) - err(1, "%s", optarg); - } else - usage(); - break; - case 'i': - iflag = 1; - break; - case 'K': - while ((p = strsep(&optarg, " \t,")) != NULL) - if (*p != '\0') - keys |= parsekey(p, NULL); - break; - case 'k': - keys = F_TYPE; - while ((p = strsep(&optarg, " \t,")) != NULL) - if (*p != '\0') - keys |= parsekey(p, NULL); - break; - case 'L': - ftsoptions &= ~FTS_PHYSICAL; - ftsoptions |= FTS_LOGICAL; - break; - case 'n': - nflag = 1; - break; - case 'P': - ftsoptions &= ~FTS_LOGICAL; - ftsoptions |= FTS_PHYSICAL; - break; - case 'p': - dir = optarg; - break; - case 'q': - qflag = 1; - break; - case 'r': - rflag = 1; - break; - case 's': - sflag = 1; - crc_total = ~strtoul(optarg, &p, 0); - if (*p) - errx(1, "illegal seed value -- %s", optarg); - break; - case 'U': - Uflag = 1; - uflag = 1; - break; - case 'u': - uflag = 1; - break; - case 'w': - wflag = 1; - break; - case 'x': - ftsoptions |= FTS_XDEV; - break; - case 'X': - read_excludes_file(optarg); - break; - case '?': - default: - usage(); - } - argc -= optind; - argv += optind; - - if (argc) - usage(); - - if (dir && chdir(dir)) - err(1, "%s", dir); - - if ((cflag || sflag) && !getcwd(fullpath, sizeof(fullpath))) - errx(1, "%s", fullpath); - - if (cflag) { - cwalk(); - exit(0); - } - if (spec2 != NULL) - status = mtree_specspec(spec1, spec2); - else - status = mtree_verifyspec(spec1); - if (Uflag & (status == MISMATCHEXIT)) - status = 0; - exit(status); -} - -static void -usage(void) -{ - (void)fprintf(stderr, -"usage: mtree [-LPUcdeinqruxw] [-f spec] [-f spec] [-K key] [-k key] [-p path] [-s seed]\n" -"\t[-X excludes]\n"); - exit(1); -} |