svn commit: r286259 - head/usr.sbin/pw

Ed Schouten ed at FreeBSD.org
Mon Aug 3 22:07:51 UTC 2015


Author: ed
Date: Mon Aug  3 22:07:50 2015
New Revision: 286259
URL: https://svnweb.freebsd.org/changeset/base/286259

Log:
  Avoid calling strlen() where we can use the strspn() return value.

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

Modified: head/usr.sbin/pw/pw_group.c
==============================================================================
--- head/usr.sbin/pw/pw_group.c	Mon Aug  3 21:19:31 2015	(r286258)
+++ head/usr.sbin/pw/pw_group.c	Mon Aug  3 22:07:50 2015	(r286259)
@@ -297,7 +297,7 @@ pw_group_show(int argc, char **argv, cha
 	};
 
 	if (arg1 != NULL) {
-		if (strspn(arg1, "0123456789") == strlen(arg1))
+		if (arg1[strspn(arg1, "0123456789")] == '\0')
 			id = pw_checkid(arg1, GID_MAX);
 		else
 			name = arg1;
@@ -360,7 +360,7 @@ pw_group_del(int argc, char **argv, char
 	bool nis = false;
 
 	if (arg1 != NULL) {
-		if (strspn(arg1, "0123456789") == strlen(arg1))
+		if (arg1[strspn(arg1, "0123456789")] == '\0')
 			id = pw_checkid(arg1, GID_MAX);
 		else
 			name = arg1;
@@ -491,7 +491,7 @@ pw_group_add(int argc, char **argv, char
 	quiet = precrypted = dryrun = pretty = nis = false;
 
 	if (arg1 != NULL) {
-		if (strspn(arg1, "0123456789") == strlen(arg1))
+		if (arg1[strspn(arg1, "0123456789")] == '\0')
 			id = pw_checkid(arg1, GID_MAX);
 		else
 			name = arg1;
@@ -577,7 +577,7 @@ pw_group_mod(int argc, char **argv, char
 	quiet = pretty = dryrun = nis = precrypted = false;
 
 	if (arg1 != NULL) {
-		if (strspn(arg1, "0123456789") == strlen(arg1))
+		if (arg1[strspn(arg1, "0123456789")] == '\0')
 			id = pw_checkid(arg1, GID_MAX);
 		else
 			name = arg1;

Modified: head/usr.sbin/pw/pw_user.c
==============================================================================
--- head/usr.sbin/pw/pw_user.c	Mon Aug  3 21:19:31 2015	(r286258)
+++ head/usr.sbin/pw/pw_user.c	Mon Aug  3 22:07:50 2015	(r286259)
@@ -214,7 +214,7 @@ pw_userlock(char *arg1, int mode)
 	if (arg1 == NULL)
 		errx(EX_DATAERR, "username or id required");
 
-	if (strspn(arg1, "0123456789") == strlen(arg1))
+	if (arg1[strspn(arg1, "0123456789")] == '\0')
 		id = pw_checkid(arg1, UID_MAX);
 	else
 		name = arg1;
@@ -709,7 +709,7 @@ pw_user_show(int argc, char **argv, char
 	bool quiet = false;
 
 	if (arg1 != NULL) {
-		if (strspn(arg1, "0123456789") == strlen(arg1))
+		if (arg1[strspn(arg1, "0123456789")] == '\0')
 			id = pw_checkid(arg1, UID_MAX);
 		else
 			name = arg1;
@@ -793,7 +793,7 @@ pw_user_del(int argc, char **argv, char 
 	bool quiet = false;
 
 	if (arg1 != NULL) {
-		if (strspn(arg1, "0123456789") == strlen(arg1))
+		if (arg1[strspn(arg1, "0123456789")] == '\0')
 			id = pw_checkid(arg1, UID_MAX);
 		else
 			name = arg1;
@@ -1124,7 +1124,7 @@ pw_user_add(int argc, char **argv, char 
 		err(EXIT_FAILURE, "calloc()");
 
 	if (arg1 != NULL) {
-		if (strspn(arg1, "0123456789") == strlen(arg1))
+		if (arg1[strspn(arg1, "0123456789")] == '\0')
 			id = pw_checkid(arg1, UID_MAX);
 		else
 			name = arg1;
@@ -1435,7 +1435,7 @@ pw_user_mod(int argc, char **argv, char 
 	edited = docreatehome = false;
 
 	if (arg1 != NULL) {
-		if (strspn(arg1, "0123456789") == strlen(arg1))
+		if (arg1[strspn(arg1, "0123456789")] == '\0')
 			id = pw_checkid(arg1, UID_MAX);
 		else
 			name = arg1;


More information about the svn-src-head mailing list