]> git.sur5r.net Git - openldap/commitdiff
Import ITS#3688 fix from HEAD
authorHoward Chu <hyc@openldap.org>
Wed, 27 Apr 2005 21:26:05 +0000 (21:26 +0000)
committerHoward Chu <hyc@openldap.org>
Wed, 27 Apr 2005 21:26:05 +0000 (21:26 +0000)
servers/slapd/back-bdb/dn2id.c
servers/slapd/back-bdb/idl.c

index 312c10e22b98d316f4f2cbc2b89514029ee4baff..f8ebb1a7d6188b4fdc576d3ca252b7a92dcfc9fa 100644 (file)
@@ -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;
index c3018ebac8cc44657cff30fd9991b13df6851726..c892e80e30829b9a0e5a9f7269dc2e65fabe7302 100644 (file)
@@ -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]);