* lib/sgetpwent.c: Avoid implicit conversion of pointers / chars to booleans.
* lib/sgetpwent.c: Add brackets and parenthesis. * lib/sgetpwent.c: Return NULL instead of 0.
This commit is contained in:
parent
64d0313c5b
commit
adc4729ffa
@ -1,3 +1,11 @@
|
|||||||
|
2008-05-26 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
|
* lib/sgetpwent.c: Avoid implicit conversion of pointers / chars to
|
||||||
|
booleans.
|
||||||
|
* lib/sgetpwent.c: Add brackets and parenthesis.
|
||||||
|
* lib/sgetpwent.c: Return NULL instead of 0.
|
||||||
|
|
||||||
|
|
||||||
2008-05-26 Nicolas François <nicolas.francois@centraliens.net>
|
2008-05-26 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
* libmisc/getdate.y: abbrev is a bool.
|
* libmisc/getdate.y: abbrev is a bool.
|
||||||
|
@ -77,15 +77,18 @@ struct passwd *sgetpwent (const char *buf)
|
|||||||
* field. The fields are converted into NUL terminated strings.
|
* field. The fields are converted into NUL terminated strings.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
for (cp = pwdbuf, i = 0; i < NFIELDS && cp; i++) {
|
for (cp = pwdbuf, i = 0; (i < NFIELDS) && (NULL != cp); i++) {
|
||||||
fields[i] = cp;
|
fields[i] = cp;
|
||||||
while (*cp && *cp != ':')
|
while (('\0' != *cp) && (':' != *cp)) {
|
||||||
++cp;
|
cp++;
|
||||||
|
}
|
||||||
|
|
||||||
if (*cp)
|
if ('\0' != *cp) {
|
||||||
*cp++ = '\0';
|
*cp = '\0';
|
||||||
else
|
cp++;
|
||||||
cp = 0;
|
} else {
|
||||||
|
cp = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -94,7 +97,7 @@ struct passwd *sgetpwent (const char *buf)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (i != NFIELDS || *fields[2] == '\0' || *fields[3] == '\0')
|
if (i != NFIELDS || *fields[2] == '\0' || *fields[3] == '\0')
|
||||||
return 0;
|
return NULL;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Each of the fields is converted the appropriate data type
|
* Each of the fields is converted the appropriate data type
|
||||||
@ -106,12 +109,12 @@ struct passwd *sgetpwent (const char *buf)
|
|||||||
pwent.pw_name = fields[0];
|
pwent.pw_name = fields[0];
|
||||||
pwent.pw_passwd = fields[1];
|
pwent.pw_passwd = fields[1];
|
||||||
if (fields[2][0] == '\0' ||
|
if (fields[2][0] == '\0' ||
|
||||||
((pwent.pw_uid = strtol (fields[2], &ep, 10)) == 0 && *ep)) {
|
((pwent.pw_uid = strtol (fields[2], &ep, 10)) == 0 && ('\0' != *ep))) {
|
||||||
return 0;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (fields[3][0] == '\0' ||
|
if (fields[3][0] == '\0' ||
|
||||||
((pwent.pw_gid = strtol (fields[3], &ep, 10)) == 0 && *ep)) {
|
((pwent.pw_gid = strtol (fields[3], &ep, 10)) == 0 && ('\0' != *ep))) {
|
||||||
return 0;
|
return NULL;
|
||||||
}
|
}
|
||||||
pwent.pw_gecos = fields[4];
|
pwent.pw_gecos = fields[4];
|
||||||
pwent.pw_dir = fields[5];
|
pwent.pw_dir = fields[5];
|
||||||
@ -119,3 +122,4 @@ struct passwd *sgetpwent (const char *buf)
|
|||||||
|
|
||||||
return &pwent;
|
return &pwent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user