summaryrefslogtreecommitdiffstats
path: root/usr.sbin/chown
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2000-07-29 22:22:11 +0000
committerpeter <peter@FreeBSD.org>2000-07-29 22:22:11 +0000
commitdcb2b5952231f2d205240204fcf3462732085f48 (patch)
tree6f18510a9a6bc6ec5b28fc6e1864edf34decf60c /usr.sbin/chown
parentd2e30b873135a6861b615104186773031877cda7 (diff)
downloadFreeBSD-src-dcb2b5952231f2d205240204fcf3462732085f48.zip
FreeBSD-src-dcb2b5952231f2d205240204fcf3462732085f48.tar.gz
Initialize vflag like the rest (not necessary, but this keeps it together)
Optimize out chown(2) syscalls if there is no change in uid or gid.
Diffstat (limited to 'usr.sbin/chown')
-rw-r--r--usr.sbin/chown/chown.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.sbin/chown/chown.c b/usr.sbin/chown/chown.c
index 26d3073..dacf623 100644
--- a/usr.sbin/chown/chown.c
+++ b/usr.sbin/chown/chown.c
@@ -85,7 +85,7 @@ main(argc, argv)
myname = (cp = rindex(*argv, '/')) ? cp + 1 : *argv;
ischown = myname[2] == 'o';
- Hflag = Lflag = Pflag = hflag = 0;
+ Hflag = Lflag = Pflag = hflag = vflag = 0;
while ((ch = getopt(argc, argv, "HLPRfhv")) != -1)
switch (ch) {
case 'H':
@@ -182,6 +182,9 @@ main(argc, argv)
default:
break;
}
+ if ((uid == -1 || uid == p->fts_statp->st_uid) &&
+ (gid == -1 || gid == p->fts_statp->st_gid))
+ continue;
if (hflag) {
if (lchown(p->fts_accpath, uid, gid) && !fflag) {
chownerr(p->fts_path);
OpenPOWER on IntegriCloud