summaryrefslogtreecommitdiffstats
path: root/bin/chmod
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2009-09-02 05:26:59 +0000
committertrasz <trasz@FreeBSD.org>2009-09-02 05:26:59 +0000
commit6509b141933b73e13abca0f4d24ec0b1f4336a5f (patch)
tree6c8b3fcef068471f28eb78a5c7a6334fb67de81c /bin/chmod
parentaa27c70cfab62d65bd2e08cd14290897eb087152 (diff)
downloadFreeBSD-src-6509b141933b73e13abca0f4d24ec0b1f4336a5f.zip
FreeBSD-src-6509b141933b73e13abca0f4d24ec0b1f4336a5f.tar.gz
- Don't include both <sys/types.h> and <sys/param.h>
- Keep variables sorted - Fix logic error with -f and -v options - don't print the usual -v output if there was an error, whether or not we were passed -f - Don't call free(3) just before exit(2) - Whitespace fixes Submitted by: bde
Diffstat (limited to 'bin/chmod')
-rw-r--r--bin/chmod/chmod.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/bin/chmod/chmod.c b/bin/chmod/chmod.c
index f701611..dc51faa 100644
--- a/bin/chmod/chmod.c
+++ b/bin/chmod/chmod.c
@@ -41,7 +41,6 @@ static char sccsid[] = "@(#)chmod.c 8.8 (Berkeley) 4/1/94";
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/types.h>
#include <sys/param.h>
#include <sys/stat.h>
@@ -63,7 +62,7 @@ main(int argc, char *argv[])
FTS *ftsp;
FTSENT *p;
mode_t *set;
- int Hflag, Lflag, Rflag, ch, fflag, fts_options, hflag, rval, error;
+ int Hflag, Lflag, Rflag, ch, error, fflag, fts_options, hflag, rval;
int vflag;
char *mode;
mode_t newmode;
@@ -170,7 +169,6 @@ done: argv += optind;
*/
if (!hflag)
continue;
- /* else */
/* FALLTHROUGH */
default:
break;
@@ -188,9 +186,11 @@ done: argv += optind;
error = lchmod(p->fts_accpath, newmode);
else
error = chmod(p->fts_accpath, newmode);
- if (error && !fflag) {
- warn("%s", p->fts_path);
- rval = 1;
+ if (error) {
+ if (!fflag) {
+ warn("%s", p->fts_path);
+ rval = 1;
+ }
} else {
if (vflag) {
(void)printf("%s", p->fts_path);
@@ -201,7 +201,6 @@ done: argv += optind;
strmode(p->fts_statp->st_mode, m1);
strmode((p->fts_statp->st_mode &
S_IFMT) | newmode, m2);
-
(void)printf(": 0%o [%s] -> 0%o [%s]",
p->fts_statp->st_mode, m1,
(p->fts_statp->st_mode & S_IFMT) |
@@ -209,12 +208,10 @@ done: argv += optind;
}
(void)printf("\n");
}
-
}
}
if (errno)
err(1, "fts_read");
- free(set);
exit(rval);
}
OpenPOWER on IntegriCloud