char *ptr;
char ivk[ID2VKSZ];
unsigned i;
- int rc;
+ int rc = 0;
unsigned short s;
memcpy(ivk, &id, sizeof(id));
else
rc = mdb_cursor_get(mc, &key, data, MDB_NEXT_DUP);
if (rc)
- return rc;
+ break;
ptr = (char*)data[0].mv_data + data[0].mv_size - 2;
memcpy(&s, ptr, 2);
if (have_nvals) {
a->a_vals[i].bv_len = data[0].mv_size - 3;
}
}
+ a->a_numvals = i;
BER_BVZERO(&a->a_vals[i]);
if (have_nvals) {
BER_BVZERO(&a->a_nvals[i]);
}
- return 0;
+ return rc;
}
#define ADD_FLAGS (MDB_NOOVERWRITE|MDB_APPEND)
if (rc)
goto leave;
}
+ i = a->a_numvals;
mdb_mval_get(op, mvc, id, a, have_nval);
- bptr += a->a_numvals + 1;
+ bptr += i + 1;
if (have_nval)
- bptr += a->a_numvals + 1;
+ bptr += i + 1;
} else {
for (i=0; i<a->a_numvals; i++) {
bptr->bv_len = *lp++;