Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Jan 2010 14:47:23 +0000 (UTC)
From:      Edward Tomasz Napierala <trasz@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r203188 - stable/8/bin/chmod
Message-ID:  <201001301447.o0UElNH0022376@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: trasz
Date: Sat Jan 30 14:47:23 2010
New Revision: 203188
URL: http://svn.freebsd.org/changeset/base/203188

Log:
  MFC r196753:
  
  - 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

Modified:
  stable/8/bin/chmod/chmod.c
Directory Properties:
  stable/8/bin/chmod/   (props changed)

Modified: stable/8/bin/chmod/chmod.c
==============================================================================
--- stable/8/bin/chmod/chmod.c	Sat Jan 30 14:44:32 2010	(r203187)
+++ stable/8/bin/chmod/chmod.c	Sat Jan 30 14:47:23 2010	(r203188)
@@ -41,7 +41,6 @@ static char sccsid[] = "@(#)chmod.c	8.8 
 #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);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001301447.o0UElNH0022376>