* lib/sgetgrent.c: implicit conversion of pointers / chars to booleans.
* lib/sgetgrent.c: Avoid assignments in comparisons. * lib/sgetgrent.c: Add brackets.
This commit is contained in:
parent
6ce26e12f5
commit
6f88bcf581
@ -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>
|
2008-05-26 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
* lib/encrypt.c: Avoid implicit conversion of pointers to
|
* lib/encrypt.c: Avoid implicit conversion of pointers to
|
||||||
|
@ -87,10 +87,12 @@ static char **list (char *s)
|
|||||||
if (!s || s[0] == '\0')
|
if (!s || s[0] == '\0')
|
||||||
break;
|
break;
|
||||||
members[i++] = s;
|
members[i++] = s;
|
||||||
while (*s && *s != ',')
|
while (('\0' != *s) && (',' != *s)) {
|
||||||
s++;
|
s++;
|
||||||
if (*s)
|
}
|
||||||
|
if ('\0' != *s) {
|
||||||
*s++ = '\0';
|
*s++ = '\0';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
members[i] = (char *) 0;
|
members[i] = (char *) 0;
|
||||||
return members;
|
return members;
|
||||||
@ -120,22 +122,30 @@ struct group *sgetgrent (const char *buf)
|
|||||||
}
|
}
|
||||||
strcpy (grpbuf, buf);
|
strcpy (grpbuf, buf);
|
||||||
|
|
||||||
if ((cp = strrchr (grpbuf, '\n')))
|
cp = strrchr (grpbuf, '\n');
|
||||||
|
if (NULL != cp) {
|
||||||
*cp = '\0';
|
*cp = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
for (cp = grpbuf, i = 0; i < NFIELDS && cp; i++) {
|
for (cp = grpbuf, i = 0; i < NFIELDS && cp; i++) {
|
||||||
grpfields[i] = cp;
|
grpfields[i] = cp;
|
||||||
if ((cp = strchr (cp, ':')))
|
cp = strchr (cp, ':');
|
||||||
*cp++ = 0;
|
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_name = grpfields[0];
|
||||||
grent.gr_passwd = grpfields[1];
|
grent.gr_passwd = grpfields[1];
|
||||||
grent.gr_gid = atoi (grpfields[2]);
|
grent.gr_gid = atoi (grpfields[2]);
|
||||||
grent.gr_mem = list (grpfields[3]);
|
grent.gr_mem = list (grpfields[3]);
|
||||||
if (!grent.gr_mem)
|
if (NULL == grent.gr_mem) {
|
||||||
return (struct group *) 0; /* out of memory */
|
return (struct group *) 0; /* out of memory */
|
||||||
|
}
|
||||||
|
|
||||||
return &grent;
|
return &grent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user