From 044598d751cab0ef7334621defd54ee862fc66cf Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Wed, 27 Apr 2005 21:26:05 +0000 Subject: [PATCH] Import ITS#3688 fix from HEAD --- servers/slapd/back-bdb/dn2id.c | 2 +- servers/slapd/back-bdb/idl.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/servers/slapd/back-bdb/dn2id.c b/servers/slapd/back-bdb/dn2id.c index 312c10e22b..f8ebb1a7d6 100644 --- a/servers/slapd/back-bdb/dn2id.c +++ b/servers/slapd/back-bdb/dn2id.c @@ -1133,7 +1133,7 @@ hdb_dn2idl( DBTzero(&cx.data); hdb_dn2idl_internal(&cx); - if ( !BDB_IDL_IS_ZERO( ids )) + if ( !BDB_IDL_IS_ZERO( ids ) && !BDB_IDL_IS_RANGE( ids )) bdb_idl_sort( ids ); return cx.rc; diff --git a/servers/slapd/back-bdb/idl.c b/servers/slapd/back-bdb/idl.c index c3018ebac8..c892e80e30 100644 --- a/servers/slapd/back-bdb/idl.c +++ b/servers/slapd/back-bdb/idl.c @@ -1264,7 +1264,7 @@ int bdb_idl_append_one( ID *ids, ID id ) } } ids[0]++; - if ( ids[0] >= BDB_IDL_DB_MAX ) { + if ( ids[0] >= BDB_IDL_UM_MAX ) { ids[0] = NOID; } else { ids[ids[0]] = id; @@ -1351,6 +1351,9 @@ bdb_idl_sort( ID *ids ) int i; ID temp; + if ( BDB_IDL_IS_RANGE( ids )) + return; + for (i = ids[0] / 2; i >= 1; i--) siftDown(ids, i, ids[0]); -- 2.39.5