Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Aug 2015 22:07:50 +0000 (UTC)
From:      Ed Schouten <ed@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r286259 - head/usr.sbin/pw
Message-ID:  <201508032207.t73M7oUF034879@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



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