diff options
author | ceri <ceri@FreeBSD.org> | 2004-02-18 18:45:11 +0000 |
---|---|---|
committer | ceri <ceri@FreeBSD.org> | 2004-02-18 18:45:11 +0000 |
commit | 6730a7920d9439d6dafcdfa57e96ebcd9dba1c8e (patch) | |
tree | 7076e8198756f9d1387c3c8fae336c273d306568 | |
parent | 8c2ff6c3d59d574be7df0eed5e0fe0fe9f79f237 (diff) | |
download | FreeBSD-src-6730a7920d9439d6dafcdfa57e96ebcd9dba1c8e.zip FreeBSD-src-6730a7920d9439d6dafcdfa57e96ebcd9dba1c8e.tar.gz |
Only call chflags() on directories once.
Approved by: ru
MFC after: 1 week
-rw-r--r-- | bin/chflags/chflags.c | 9 |
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; |