Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 Jun 2015 15:27:17 +0000 (UTC)
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r284122 - head/usr.sbin/pw
Message-ID:  <201506071527.t57FRHfQ022725@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bapt
Date: Sun Jun  7 15:27:17 2015
New Revision: 284122
URL: https://svnweb.freebsd.org/changeset/base/284122

Log:
  Handle pretty print (-P) via global pwconf

Modified:
  head/usr.sbin/pw/pw.c
  head/usr.sbin/pw/pw_group.c
  head/usr.sbin/pw/pw_user.c
  head/usr.sbin/pw/pwupd.h

Modified: head/usr.sbin/pw/pw.c
==============================================================================
--- head/usr.sbin/pw/pw.c	Sun Jun  7 15:09:53 2015	(r284121)
+++ head/usr.sbin/pw/pw.c	Sun Jun  7 15:27:17 2015	(r284122)
@@ -133,6 +133,7 @@ main(int argc, char *argv[])
 	relocated = nis = false;
 	conf.rootdir[0] = '\0';
 	conf.dryrun = false;
+	conf.pretty = false;
 	strlcpy(conf.etcpath, _PATH_PWD, sizeof(conf.etcpath));
 
 	LIST_INIT(&arglist);
@@ -222,6 +223,9 @@ main(int argc, char *argv[])
 		case 'N':
 			conf.dryrun = true;
 			break;
+		case 'P':
+			conf.pretty = true;
+			break;
 		case 'Y':
 			nis = true;
 			break;

Modified: head/usr.sbin/pw/pw_group.c
==============================================================================
--- head/usr.sbin/pw/pw_group.c	Sun Jun  7 15:09:53 2015	(r284121)
+++ head/usr.sbin/pw/pw_group.c	Sun Jun  7 15:27:17 2015	(r284122)
@@ -44,7 +44,7 @@ static const char rcsid[] =
 static struct passwd *lookup_pwent(const char *user);
 static void	delete_members(char ***members, int *grmembers, int *i,
     struct carg *arg, struct group *grp);
-static int      print_group(struct group * grp, int pretty);
+static int	print_group(struct group * grp);
 static gid_t    gr_gidpolicy(struct userconf * cnf, struct cargs * args);
 
 int
@@ -89,11 +89,9 @@ pw_group(int mode, struct cargs * args)
 	}
 
 	if (mode == M_PRINT && getarg(args, 'a')) {
-		int             pretty = getarg(args, 'P') != NULL;
-
 		SETGRENT();
 		while ((grp = GETGRENT()) != NULL)
-			print_group(grp, pretty);
+			print_group(grp);
 		ENDGRENT();
 		return EXIT_SUCCESS;
 	}
@@ -119,7 +117,7 @@ pw_group(int mode, struct cargs * args)
 				fakegroup.gr_name = a_name ? a_name->val : "nogroup";
 				fakegroup.gr_gid = a_gid ? (gid_t) atol(a_gid->val) : (gid_t)-1;
 				fakegroup.gr_mem = fmems;
-				return print_group(&fakegroup, getarg(args, 'P') != NULL);
+				return print_group(&fakegroup);
 			}
 			errx(EX_DATAERR, "unknown group `%s'", a_name ? a_name->val : a_gid->val);
 		}
@@ -141,7 +139,7 @@ pw_group(int mode, struct cargs * args)
 			pw_log(cnf, mode, W_GROUP, "%s(%u) removed", a_name->val, gid);
 			return EXIT_SUCCESS;
 		} else if (mode == M_PRINT)
-			return print_group(grp, getarg(args, 'P') != NULL);
+			return print_group(grp);
 
 		if (a_gid)
 			grp->gr_gid = (gid_t) atoi(a_gid->val);
@@ -259,7 +257,7 @@ pw_group(int mode, struct cargs * args)
 	}
 
 	if (conf.dryrun)
-		return print_group(grp, getarg(args, 'P') != NULL);
+		return print_group(grp);
 
 	if (mode == M_ADD && (rc = addgrent(grp)) != 0) {
 		if (rc == -1)
@@ -412,9 +410,9 @@ gr_gidpolicy(struct userconf * cnf, stru
 
 
 static int
-print_group(struct group * grp, int pretty)
+print_group(struct group * grp)
 {
-	if (!pretty) {
+	if (!conf.pretty) {
 		char           *buf = NULL;
 
 		buf = gr_make(grp);

Modified: head/usr.sbin/pw/pw_user.c
==============================================================================
--- head/usr.sbin/pw/pw_user.c	Sun Jun  7 15:09:53 2015	(r284121)
+++ head/usr.sbin/pw/pw_user.c	Sun Jun  7 15:27:17 2015	(r284122)
@@ -53,7 +53,7 @@ static		char locked_str[] = "*LOCKED*";
 
 static int	delete_user(struct userconf *cnf, struct passwd *pwd,
 		    struct carg *a_name, int delete, int mode);
-static int      print_user(struct passwd * pwd, int pretty, int v7);
+static int	print_user(struct passwd * pwd, int v7);
 static uid_t    pw_uidpolicy(struct userconf * cnf, struct cargs * args);
 static uid_t    pw_gidpolicy(struct cargs * args, char *nam, gid_t prefer);
 static time_t   pw_pwdpolicy(struct userconf * cnf, struct cargs * args);
@@ -316,11 +316,10 @@ pw_user(int mode, struct cargs * args)
 	}
 
 	if (mode == M_PRINT && getarg(args, 'a')) {
-		int             pretty = getarg(args, 'P') != NULL;
 		int		v7 = getarg(args, '7') != NULL;
 		SETPWENT();
 		while ((pwd = GETPWENT()) != NULL)
-			print_user(pwd, pretty, v7);
+			print_user(pwd, v7);
 		ENDPWENT();
 		return EXIT_SUCCESS;
 	}
@@ -363,7 +362,6 @@ pw_user(int mode, struct cargs * args)
 				fakeuser.pw_name = a_name ? a_name->val : "nouser";
 				fakeuser.pw_uid = a_uid ? (uid_t) atol(a_uid->val) : (uid_t) -1;
 				return print_user(&fakeuser,
-						  getarg(args, 'P') != NULL,
 						  getarg(args, '7') != NULL);
 			}
 			if (a_name == NULL)
@@ -401,9 +399,7 @@ pw_user(int mode, struct cargs * args)
 			return (delete_user(cnf, pwd, a_name,
 				    getarg(args, 'r') != NULL, mode));
 		else if (mode == M_PRINT)
-			return print_user(pwd,
-					  getarg(args, 'P') != NULL,
-					  getarg(args, '7') != NULL);
+			return print_user(pwd, getarg(args, '7') != NULL);
 
 		/*
 		 * The rest is edit code
@@ -621,9 +617,7 @@ pw_user(int mode, struct cargs * args)
 	 * Special case: -N only displays & exits
 	 */
 	if (conf.dryrun)
-		return print_user(pwd,
-				  getarg(args, 'P') != NULL,
-				  getarg(args, '7') != NULL);
+		return print_user(pwd, getarg(args, '7') != NULL);
 
 	if (mode == M_ADD) {
 		edited = 1;	/* Always */
@@ -1167,9 +1161,9 @@ delete_user(struct userconf *cnf, struct
 }
 
 static int
-print_user(struct passwd * pwd, int pretty, int v7)
+print_user(struct passwd * pwd, int v7)
 {
-	if (!pretty) {
+	if (!conf.pretty) {
 		char            *buf;
 
 		if (!v7)

Modified: head/usr.sbin/pw/pwupd.h
==============================================================================
--- head/usr.sbin/pw/pwupd.h	Sun Jun  7 15:09:53 2015	(r284121)
+++ head/usr.sbin/pw/pwupd.h	Sun Jun  7 15:27:17 2015	(r284122)
@@ -84,6 +84,7 @@ struct pwconf {
 	char		 rootdir[MAXPATHLEN];
 	char		 etcpath[MAXPATHLEN];
 	bool		 dryrun;
+	bool		 pretty;
 	struct userconf	*userconf;
 };
 



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