errx(2, "%s: Not a directory", fn);
err(2, "%s: %s", fn, strerror(ENOTDIR));
main (argc, argv)	int	argc;	char 	**argv;{	char *fn, *tn;	struct stat fs, ts;        while (++argv, --argc) {                if ((strcmp(*argv, "-silent") == 0)                    || (strcmp(*argv, "-s") == 0))                        silent = 1;                else if ((strcmp(*argv, "-ignorelinks") == 0)                        || (strcmp(*argv, "-i") == 0))                        ignore_links = 1;                else if (strcmp(*argv, "-e") == 0) {                        ++argv, --argc;                        if (argc < 2)                                usage();                        addexcept(*argv);                } else if (strcmp(*argv, "--") == 0) {                        ++argv, --argc;                        break;                } else                        break;        }		    if (argc < 1 || argc > 2)	usage();    fn = argv[0];    if (argc == 2)	tn = argv[1];    else	tn = ".";    /* to directory */    if (stat(tn, &ts) < 0)	errx(1, "%s", tn);    if (!(S_ISDIR(ts.st_mode)))	errx(2, "%s: Not a directory", tn);    if (chdir(tn) < 0)	errx(1, "%s", tn);    /* from directory */    if (stat(fn, &fs) < 0)	errx(1, "%s", fn);    if (!(S_ISDIR(fs.st_mode)))	errx(2, "%s: Not a directory", fn);    exit(dodir (fn, &fs, &ts, 0));}