View | Details | Raw Unified | Return to bug 23906
Collapse All | Expand All

(-)function.c (+15 lines)
Lines 514-519 Link Here
514
	static int val_type, val_flags;
514
	static int val_type, val_flags;
515
	char *p, save[2];
515
	char *p, save[2];
516
516
517
	extern FTS *tree;
518
517
	/* Only check when we cross mount point. */
519
	/* Only check when we cross mount point. */
518
	if (first || curdev != entry->fts_statp->st_dev) {
520
	if (first || curdev != entry->fts_statp->st_dev) {
519
		curdev = entry->fts_statp->st_dev;
521
		curdev = entry->fts_statp->st_dev;
Lines 555-560 Link Here
555
	}
557
	}
556
	switch (plan->flags) {
558
	switch (plan->flags) {
557
	case F_MTFLAG:
559
	case F_MTFLAG:
560
		/*
561
		 * If the filesystem isn't local, and we're looking
562
		 * for local filesystems (-fstype local), don't
563
		 * traverse it.  Without this, we'll go on looking for
564
		 * local files in a non-local filesystem.
565
		 */
566
		if (((val_flags & MNT_LOCAL) == 0) &&
567
		    ((plan->mt_data & MNT_LOCAL) != 0)) {
568
			if (fts_set(tree, entry, FTS_SKIP))
569
				err(1, "%s", entry->fts_path);
570
			return (0);
571
		}
572
558
		return (val_flags & plan->mt_data) != 0;
573
		return (val_flags & plan->mt_data) != 0;
559
	case F_MTTYPE:
574
	case F_MTTYPE:
560
		return (val_type == plan->mt_data);
575
		return (val_type == plan->mt_data);

Return to bug 23906