]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb/idl.c
Merge remote branch 'origin/mdb.master'
[openldap] / servers / slapd / back-bdb / idl.c
index 107c984192b39388bf97b43ae5f5d498daab4c4d..e48c9ac1fc4dcd3931bf95c36f762ac48dd36a02 100644 (file)
@@ -1357,6 +1357,10 @@ int bdb_idl_append( ID *a, ID *b )
                return 0;
        }
 
+       if ( b[0] == 1 ) {
+               return bdb_idl_append_one( a, BDB_IDL_FIRST( b ));
+       }
+
        ida = BDB_IDL_LAST( a );
        idb = BDB_IDL_LAST( b );
        if ( BDB_IDL_IS_RANGE( a ) || BDB_IDL_IS_RANGE(b) ||
@@ -1367,7 +1371,7 @@ int bdb_idl_append( ID *a, ID *b )
                return 0;
        }
 
-       if ( b[0] > 1 && ida > idb ) {
+       if ( ida > idb ) {
                swap = idb;
                a[a[0]] = idb;
                b[b[0]] = ida;
@@ -1382,7 +1386,7 @@ int bdb_idl_append( ID *a, ID *b )
        a[0]++;
        a[a[0]] = tmp;
 
-       if ( b[0] > 1 ) {
+       {
                int i = b[0] - 1;
                AC_MEMCPY(a+a[0]+1, b+2, i * sizeof(ID));
                a[0] += i;