summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nest/password.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/nest/password.c b/nest/password.c
index c270627..ba5d0e6 100644
--- a/nest/password.c
+++ b/nest/password.c
@@ -54,12 +54,19 @@ password_strncpy(char *to, char *from, int len)
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;
+ }
}