Date: Wed, 18 Sep 2002 08:20:46 +0200 From: Johan Karlsson <johan@FreeBSD.org> To: Tom Rhodes <trhodes@FreeBSD.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org, bde@FreeBSD.org, jhb@FreeBSD.org, ru@FreeBSD.org Subject: Re: cvs commit: src/bin/chmod chmod.1 chmod.c Message-ID: <20020918062046.GB8620@numeri.campus.luth.se> In-Reply-To: <200209172338.g8HNcXjJ026355@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi On Tue, Sep 17, 2002 at 16:38 (-0700) +0000, Tom Rhodes wrote: > trhodes 2002/09/17 16:38:33 PDT > > Modified files: (Branch: RELENG_4) > bin/chmod chmod.1 chmod.c > Log: > MFC: 'h' missing in getopt() call I'm still missing the functional change in rev 1.21 of chmod.c This cut-n-pasted part of that change has not yet been MFCed. ==== @@ -102,9 +103,10 @@ main(argc, argv) /* * In System V (and probably POSIX.2) the -h option * causes chmod to change the mode of the symbolic - * link. 4.4BSD's symbolic links don't have modes, - * so it's an undocumented noop. Do syntax checking, - * though. + * link. 4.4BSD's symbolic links didn't have modes, + * so it was an undocumented noop. In FreeBSD 3.0, + * lchmod(2) is introduced and this option does real + * work. */ hflag = 1; break; @@ -148,6 +150,11 @@ done: argv += optind; } else fts_options = FTS_LOGICAL; + if (hflag) + change_mode = lchmod; + else + change_mode = chmod; + mode = *argv; if (*mode >= '0' && *mode <= '7') { errno = 0; @@ -190,14 +197,17 @@ done: argv += optind; * don't point to anything and ones that we found * doing a physical walk. */ - continue; + if (!hflag) + continue; + /* else */ + /* FALLTHROUGH */ default: break; } newmode = oct ? omode : getmode(set, p->fts_statp->st_mode); if ((newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS)) continue; - if (chmod(p->fts_accpath, newmode) && !fflag) { + if ((*change_mode)(p->fts_accpath, newmode) && !fflag) { warn("%s", p->fts_path); rval = 1; } else { ======= Bruce, Ruslan, is this something that should be MFCed as well or do we only want to document the faked support for -h? /Johan K > > PR: 41926 > Submitted by: Andre Albsmeier <andre.albsmeier@mchp.siemens.de> > Reviewed by: johan, bde, jhb > Approved by: re (jhb) > > Revision Changes Path > 1.17.2.11 +1 -1 src/bin/chmod/chmod.1 > 1.16.2.4 +3 -3 src/bin/chmod/chmod.c -- Johan Karlsson mailto:johan@FreeBSD.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020918062046.GB8620>