]> granicus.if.org Git - shadow/commitdiff
* lib/sgetgrent.c: implicit conversion of pointers / chars to booleans.
authornekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Mon, 26 May 2008 08:31:14 +0000 (08:31 +0000)
committernekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Mon, 26 May 2008 08:31:14 +0000 (08:31 +0000)
* lib/sgetgrent.c: Avoid assignments in comparisons.
* lib/sgetgrent.c: Add brackets.

ChangeLog
lib/sgetgrent.c

index 6f49f178e25fc905e0d6e1a775d0dbef6c4f09f1..bd77d3951752ec1c61a72c3f79f90f3635612baf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
+
+       * lib/sgetgrent.c: implicit conversion of pointers / chars to
+       booleans.
+       * lib/sgetgrent.c: Avoid assignments in comparisons.
+       * lib/sgetgrent.c: Add brackets.
+
 2008-05-26  Nicolas François  <nicolas.francois@centraliens.net>
 
        * lib/encrypt.c: Avoid implicit conversion of pointers to
index e5bc89c53959dde4fd675f6efeb30e8eaafa6ef2..2ffd2c28154fd8eff2d6fdc89ed855b51bdd4b8f 100644 (file)
@@ -87,10 +87,12 @@ static char **list (char *s)
                if (!s || s[0] == '\0')
                        break;
                members[i++] = s;
-               while (*s && *s != ',')
+               while (('\0' != *s) && (',' != *s)) {
                        s++;
-               if (*s)
+               }
+               if ('\0' != *s) {
                        *s++ = '\0';
+               }
        }
        members[i] = (char *) 0;
        return members;
@@ -120,22 +122,30 @@ struct group *sgetgrent (const char *buf)
        }
        strcpy (grpbuf, buf);
 
-       if ((cp = strrchr (grpbuf, '\n')))
+       cp = strrchr (grpbuf, '\n');
+       if (NULL != cp) {
                *cp = '\0';
+       }
 
        for (cp = grpbuf, i = 0; i < NFIELDS && cp; i++) {
                grpfields[i] = cp;
-               if ((cp = strchr (cp, ':')))
-                       *cp++ = 0;
+               cp = strchr (cp, ':');
+               if (NULL != cp) {
+                       *cp = '\0';
+                       cp++;
+               }
+       }
+       if (i < (NFIELDS - 1) || *grpfields[2] == '\0') {
+               return (struct group *) 0;
        }
-       if (i < (NFIELDS - 1) || *grpfields[2] == '\0')
-               return 0;
        grent.gr_name = grpfields[0];
        grent.gr_passwd = grpfields[1];
        grent.gr_gid = atoi (grpfields[2]);
        grent.gr_mem = list (grpfields[3]);
-       if (!grent.gr_mem)
+       if (NULL == grent.gr_mem) {
                return (struct group *) 0;      /* out of memory */
+       }
 
        return &grent;
 }
+