int
password_same(struct password_item *old, struct password_item *new)
{
- if (old == new)
- return 1;
- if ((!old) || (!new))
- return 0;
- return ((old->from == new->from) &&
- (old->to == new->to) &&
- (old->passive == new->passive) &&
- password_same(old, new));
+ for(;;)
+ {
+ if (old == new)
+ return 1;
+ if (!old || !new)
+ return 0;
+ if (old->from != new->from ||
+ old->to != new->to ||
+ old->passive != new->passive ||
+ old->id != new->id ||
+ strcmp(old->password, new->password))
+ return 0;
+ old = old->next;
+ new = new->next;
+ }
}