Added numsubordinates operational attribute

This commit is contained in:
Howard Chu 1999-10-28 07:09:30 +00:00
parent aa23b21baf
commit 8efb675f3e

View File

@ -282,8 +282,52 @@ ldbm_back_search(
}
if (e) {
switch ( send_search_entry( be, conn, op, e,
attrs, attrsonly, NULL ) ) {
/* Tack on subordinates attr */
int result;
ID_BLOCK *idl = NULL;
char CATTR_SUBS[] = "numsubordinates";
if (attrs &&
charray_inlist(attrs,
CATTR_SUBS))
{
idl = dn2idl(be, e->e_ndn,
DN_ONE_PREFIX);
if (idl)
{
char buf[30];
struct berval val, *vals[2];
vals[0] = &val;
vals[1] = NULL;
sprintf(buf, "%lu",
ID_BLOCK_NIDS(idl));
val.bv_val = buf;
val.bv_len = strlen(buf);
attr_merge(e, CATTR_SUBS,
vals);
}
}
result = send_search_entry(be,
conn,
op,
e,
attrs,
attrsonly,
NULL);
if (idl)
{
idl_free(idl);
attr_delete(&e->e_attrs,
CATTR_SUBS);
}
switch (result)
{
case 0: /* entry sent ok */
nentries++;
break;