Avoid assignments in comparisons.

Add note about possible bug.
This commit is contained in:
nekral-guest 2008-05-26 09:22:44 +00:00
parent da62edb4e0
commit 004fb5f9c2
2 changed files with 7 additions and 4 deletions

View File

@ -6,6 +6,7 @@
* lib/sgetpwent.c: Return NULL instead of 0.
* lib/sgetpwent.c: Do not check twice if fields[2] and fields[3]
are not empty.
* lib/sgetpwent.c: Avoid assignments in comparisons.
2008-05-26 Nicolas François <nicolas.francois@centraliens.net>

View File

@ -108,12 +108,14 @@ struct passwd *sgetpwent (const char *buf)
pwent.pw_name = fields[0];
pwent.pw_passwd = fields[1];
if (
((pwent.pw_uid = strtol (fields[2], &ep, 10)) == 0 && ('\0' != *ep))) {
pwent.pw_uid = strtol (fields[2], &ep, 10);
/* FIXME: (0 == pwent.pw_uid) does not look correct -- nekral */
if ((0 == pwent.pw_uid) && ('\0' != *ep)) {
return NULL;
}
if (
((pwent.pw_gid = strtol (fields[3], &ep, 10)) == 0 && ('\0' != *ep))) {
/* FIXME: (0 == pwent.pw_gid) does not look correct -- nekral */
pwent.pw_gid = strtol (fields[3], &ep, 10);
if ((0 == pwent.pw_gid) && ('\0' != *ep))) {
return NULL;
}
pwent.pw_gecos = fields[4];