]> granicus.if.org Git - shadow/commitdiff
Avoid assignments in comparisons.
authornekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Sat, 29 Dec 2007 14:48:33 +0000 (14:48 +0000)
committernekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Sat, 29 Dec 2007 14:48:33 +0000 (14:48 +0000)
ChangeLog
src/newusers.c

index 7ac06cb88f37aabe3cc3ed00430e366254482b0f..4acb86e8c1b619ebdd5776a4d1b38e8eac7e6464 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,7 @@
        * src/newusers.c: Before pam_end(), the return value of the previous
        pam API was already checked. No need to validate it again.
        * src/newusers.c: Avoid implicit brackets.
+       * src/newusers.c: Avoid assignments in comparisons.
 
 2007-12-29  Nicolas François  <nicolas.francois@centraliens.net>
 
index 55d94848181eb361245b00052ab910e15ce33d2e..dad58361dfaae82b5d9847e8fb7b6284c0e34010 100644 (file)
@@ -115,7 +115,8 @@ static int add_group (const char *name, const char *gid, gid_t * ngid)
         * Start by seeing if the named group already exists. This will be
         * very easy to deal with if it does.
         */
-       if ((grp = gr_locate (gid))) {
+       grp = gr_locate (gid);
+       if (NULL != grp) {
              add_member:
                grent = *grp;
                *ngid = grent.gr_gid;
@@ -209,7 +210,7 @@ static int add_group (const char *name, const char *gid, gid_t * ngid)
  */
 static int add_user (const char *name, const char *uid, uid_t * nuid, gid_t gid)
 {
-       const struct passwd *pwd;
+       const struct passwd *pwd = NULL;
        struct passwd pwent;
        uid_t i;
 
@@ -219,15 +220,21 @@ static int add_user (const char *name, const char *uid, uid_t * nuid, gid_t gid)
         */
        if ((uid[0] >= '0') && (uid[0] <= '9')) {
                i = atoi (uid);
-       } else if (('\0' != uid[0]) && (pwd = pw_locate (uid))) {
-               i = pwd->pw_uid;
        } else {
-               /* Start with gid, either the specified GID, or an ID
-                * greater than all the group and user IDs */
-               i = gid;
-               for (pw_rewind (); (pwd = pw_next ());) {
-                       if (pwd->pw_uid >= i) {
-                               i = pwd->pw_uid + 1;
+               if ('\0' != uid[0]) {
+                       pwd = pw_locate (uid);
+               }
+
+               if (NULL != pwd) {
+                       i = pwd->pw_uid;
+               } else {
+                       /* Start with gid, either the specified GID, or an ID
+                        * greater than all the group and user IDs */
+                       i = gid;
+                       for (pw_rewind (); (pwd = pw_next ());) {
+                               if (pwd->pw_uid >= i) {
+                                       i = pwd->pw_uid + 1;
+                               }
                        }
                }
        }
@@ -295,7 +302,8 @@ static int add_passwd (struct passwd *pwd, const char *passwd)
         * Do the first and easiest shadow file case. The user already
         * exists in the shadow password file.
         */
-       if ((sp = spw_locate (pwd->pw_name))) {
+       sp = spw_locate (pwd->pw_name);
+       if (NULL != sp) {
                spent = *sp;
                spent.sp_pwdp = pw_encrypt (passwd,
                                            crypt_make_salt (crypt_method,
@@ -573,7 +581,8 @@ int main (int argc, char **argv)
         */
        while (fgets (buf, sizeof buf, stdin) != (char *) 0) {
                line++;
-               if ((cp = strrchr (buf, '\n'))) {
+               cp = strrchr (buf, '\n');
+               if (NULL != cp) {
                        *cp = '\0';
                } else {
                        fprintf (stderr, _("%s: line %d: line too long\n"),
@@ -589,7 +598,8 @@ int main (int argc, char **argv)
                 */
                for (cp = buf, nfields = 0; nfields < 7; nfields++) {
                        fields[nfields] = cp;
-                       if ((cp = strchr (cp, ':'))) {
+                       cp = strchr (cp, ':');
+                       if (NULL != cp) {
                                *cp++ = '\0';
                        } else {
                                break;
@@ -611,8 +621,9 @@ int main (int argc, char **argv)
                 * new group, if that group ID exists, a whole new group ID
                 * will be made up.
                 */
-               if (!(pw = pw_locate (fields[0])) &&
-                   add_group (fields[0], fields[3], &gid)) {
+               pw = pw_locate (fields[0]);
+               if (   (NULL == pw)
+                   && (add_group (fields[0], fields[3], &gid) != 0)) {
                        fprintf (stderr,
                                 _("%s: line %d: can't create GID\n"),
                                 Prog, line);
@@ -640,7 +651,8 @@ int main (int argc, char **argv)
                 * The password, gecos field, directory, and shell fields
                 * all come next.
                 */
-               if (!(pw = pw_locate (fields[0]))) {
+               pw = pw_locate (fields[0]);
+               if (NULL == pw) {
                        fprintf (stderr,
                                 _("%s: line %d: cannot find user %s\n"),
                                 Prog, line, fields[0]);