summaryrefslogtreecommitdiffstats
path: root/bin/chflags
diff options
context:
space:
mode:
authorceri <ceri@FreeBSD.org>2004-02-18 18:45:11 +0000
committerceri <ceri@FreeBSD.org>2004-02-18 18:45:11 +0000
commit6730a7920d9439d6dafcdfa57e96ebcd9dba1c8e (patch)
tree7076e8198756f9d1387c3c8fae336c273d306568 /bin/chflags
parent8c2ff6c3d59d574be7df0eed5e0fe0fe9f79f237 (diff)
downloadFreeBSD-src-6730a7920d9439d6dafcdfa57e96ebcd9dba1c8e.zip
FreeBSD-src-6730a7920d9439d6dafcdfa57e96ebcd9dba1c8e.tar.gz
Only call chflags() on directories once.
Approved by: ru MFC after: 1 week
Diffstat (limited to 'bin/chflags')
-rw-r--r--bin/chflags/chflags.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/bin/chflags/chflags.c b/bin/chflags/chflags.c
index 0f42f1a..40b302b 100644
--- a/bin/chflags/chflags.c
+++ b/bin/chflags/chflags.c
@@ -132,11 +132,10 @@ main(int argc, char *argv[])
for (rval = 0; (p = fts_read(ftsp)) != NULL;) {
switch (p->fts_info) {
- case FTS_D:
- if (Rflag) /* Change it at FTS_DP. */
- continue;
- fts_set(ftsp, p, FTS_SKIP);
- break;
+ case FTS_D: /* Change it at FTS_DP if we're recursive. */
+ if (!Rflag)
+ fts_set(ftsp, p, FTS_SKIP);
+ continue;
case FTS_DNR: /* Warn, chflag, continue. */
warnx("%s: %s", p->fts_path, strerror(p->fts_errno));
rval = 1;
OpenPOWER on IntegriCloud