From owner-p4-projects@FreeBSD.ORG Tue Nov 14 20:46:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8B2C116A57D; Tue, 14 Nov 2006 20:46:30 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5B64E16A543 for ; Tue, 14 Nov 2006 20:46:30 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EBB2544060 for ; Tue, 14 Nov 2006 20:39:55 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kAEKdfGH047944 for ; Tue, 14 Nov 2006 20:39:41 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kAEKdfYA047941 for perforce@freebsd.org; Tue, 14 Nov 2006 20:39:41 GMT (envelope-from millert@freebsd.org) Date: Tue, 14 Nov 2006 20:39:41 GMT Message-Id: <200611142039.kAEKdfYA047941@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 109987 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Nov 2006 20:46:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=109987 Change 109987 by millert@millert_g5tower on 2006/11/14 20:39:16 Skip mount points entirely. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/policycoreutils/restorecon/restorecon.c#5 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/policycoreutils/setfiles/setfiles.c#5 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/policycoreutils/restorecon/restorecon.c#5 (text+ko) ==== @@ -307,11 +307,14 @@ } while ((ftsent = fts_read(fts)) != NULL) { switch (ftsent->fts_info) { + case FTS_D: /* dir in pre-order */ + if (fts->fts_dev != ftsent->fts_dev) + break; + /* FALLTHROUGH */ + case FTS_F: /* file */ + case FTS_SL: /* symlink */ + case FTS_W: /* whiteout */ case FTS_DEFAULT: - case FTS_D: - case FTS_F: - case FTS_SL: - case FTS_W: apply_spec(ftsent->fts_path, ftsent->fts_statp); break; case FTS_DNR: @@ -330,6 +333,12 @@ progname, ftsent->fts_path, strerror(ftsent->fts_errno)); break; + case FTS_DP: /* skip post-order dir */ + case FTS_DC: /* skip dir cycle */ + case FTS_DOT: /* skip . and .. */ + case FTS_SLNONE: /* skip dead symlinks */ + default: + break; } } } else { ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/policycoreutils/setfiles/setfiles.c#5 (text+ko) ==== @@ -671,11 +671,14 @@ /* Walk the file tree, calling apply_spec on each file. */ while ((ftsent = fts_read(fts)) != NULL) { switch (ftsent->fts_info) { - case FTS_DEFAULT: case FTS_D: /* dir in pre-order */ + if (fts->fts_dev != ftsent->fts_dev) + break; + /* FALLTHROUGH */ case FTS_F: /* file */ case FTS_SL: /* symlink */ case FTS_W: /* whiteout */ + case FTS_DEFAULT: apply_spec(ftsent->fts_path, ftsent->fts_statp); break;