summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr.sbin/ypldap/ypldap.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/usr.sbin/ypldap/ypldap.c b/usr.sbin/ypldap/ypldap.c
index 714f589ca20..d55eacb0e79 100644
--- a/usr.sbin/ypldap/ypldap.c
+++ b/usr.sbin/ypldap/ypldap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ypldap.c,v 1.6 2008/09/30 16:24:16 aschrijver Exp $ */
+/* $OpenBSD: ypldap.c,v 1.7 2009/01/29 11:21:42 form Exp $ */
/*
* Copyright (c) 2008 Pierre-Yves Ritschard <pyr@openbsd.org>
@@ -176,14 +176,12 @@ main_dispatch_client(int fd, short event, void *p)
ue->ue_uid = ir.ir_key.ik_uid;
len = strlen(ue->ue_line) + 1;
ue->ue_line[strcspn(ue->ue_line, ":")] = '\0';
- if (RB_FIND(user_name_tree, env->sc_user_names_t,
+ if (RB_INSERT(user_name_tree, env->sc_user_names_t,
ue) != NULL) { /* dup */
free(ue->ue_line);
free(ue);
- break;
- }
- RB_INSERT(user_name_tree, env->sc_user_names_t, ue);
- env->sc_user_line_len += len;
+ } else
+ env->sc_user_line_len += len;
break;
}
case IMSG_GRP_ENTRY: {
@@ -201,14 +199,12 @@ main_dispatch_client(int fd, short event, void *p)
ge->ge_gid = ir.ir_key.ik_gid;
len = strlen(ge->ge_line) + 1;
ge->ge_line[strcspn(ge->ge_line, ":")] = '\0';
- if (RB_FIND(group_name_tree, env->sc_group_names_t,
+ if (RB_INSERT(group_name_tree, env->sc_group_names_t,
ge) != NULL) { /* dup */
free(ge->ge_line);
free(ge);
- break;
- }
- RB_INSERT(group_name_tree, env->sc_group_names_t, ge);
- env->sc_group_line_len += len;
+ } else
+ env->sc_group_line_len += len;
break;
}
case IMSG_TRASH_UPDATE: {