]> git.sur5r.net Git - openldap/commitdiff
Check for the correct return code of cursor->c_get() (DB_BUFFER_SMALL)
authorRalf Haferkamp <ralf@openldap.org>
Wed, 27 Sep 2006 10:51:06 +0000 (10:51 +0000)
committerRalf Haferkamp <ralf@openldap.org>
Wed, 27 Sep 2006 10:51:06 +0000 (10:51 +0000)
servers/slapd/back-bdb/id2entry.c
servers/slapd/back-bdb/tools.c

index 3c5580ea9cb62ba08262c04d4ae014490962fe37..8e670b955db863f0348082f4caac50999e597a34 100644 (file)
@@ -130,6 +130,7 @@ int bdb_id2entry(
        rc = cursor->c_get( cursor, &key, &data, DB_SET );
        if ( rc ) goto leave;
 
+
        eh.bv.bv_val = buf;
        eh.bv.bv_len = data.size;
        rc = entry_header( &eh );
@@ -139,7 +140,7 @@ int bdb_id2entry(
        data.flags ^= DB_DBT_PARTIAL;
        data.ulen = 0;
        rc = cursor->c_get( cursor, &key, &data, DB_CURRENT );
-       if ( rc != ENOMEM ) goto leave;
+       if ( rc != DB_BUFFER_SMALL ) goto leave;
 
        /* Allocate a block and retrieve the data */
        off = eh.data - eh.bv.bv_val;
index e16be3f66bb1c108f09aa173154ecdc9772228a7..293beca6cf831e18110a93301e483d2d33ca1fb6 100644 (file)
@@ -273,7 +273,7 @@ Entry* bdb_tool_entry_get( BackendDB *be, ID id )
        data.flags ^= DB_DBT_PARTIAL;
        data.ulen = 0;
     rc = cursor->c_get( cursor, &key, &data, DB_CURRENT );
-       if ( rc != ENOMEM ) goto leave;
+       if ( rc != DB_BUFFER_SMALL ) goto leave;
 
        /* Allocate a block and retrieve the data */
        eh.bv.bv_len = eh.nvals * sizeof( struct berval ) + data.size;