/* FIXME: the code differs if SLAP_OPATTRS is defined or not;
* SLAP_OPATTRS is not defined in 2.2 yet, while this overlay
* expects HEAD code at least later than August 6, 2004. */
+/* FIXME: slap_anlist_no_attrs was introduced in 2.3; here it
+ * is anticipated to allow using this overlay with 2.2. */
+
+#if LDAP_VENDOR_VERSION_MINOR != X && LDAP_VENDOR_VERSION_MINOR < 3
+static AttributeName anlist_no_attrs[] = {
+ { BER_BVC( LDAP_NO_ATTRS ), NULL, 0, NULL },
+ { BER_BVNULL, NULL, 0, NULL }
+};
+
+static AttributeName *slap_anlist_no_attrs = anlist_no_attrs;
+#endif
typedef struct dynlist_info {
ObjectClass *dli_oc;
char *ptr;
- assert( oldf );
- assert( newf );
+ assert( oldf != NULL );
+ assert( newf != NULL );
assert( !BER_BVISNULL( oldf ) );
assert( !BER_BVISEMPTY( oldf ) );
/* test access to attribute */
for ( i = 0; !BER_BVISNULL( &a->a_vals[i] ); i++ )
- /* jst count */ ;
+ /* just count */ ;
vals = op->o_tmpalloc( ( i + 1 ) * sizeof( struct berval ), op->o_tmpmemctx );
if ( a->a_nvals != a->a_vals ) {
Attribute *a;
slap_callback cb;
Operation o = *op;
- SlapReply r = *rs;
+ SlapReply r = { REP_SEARCH };
struct berval *url;
Entry *e;
- int e_flags;
+ slap_mask_t e_flags;
int opattrs,
userattrs;
dynlist_sc_t dlc = { 0 };
{
slap_overinst *on = (slap_overinst *) be->bd_info;
dynlist_info *dli = (dynlist_info *)on->on_bi.bi_private;
- int rc = 0;
ber_len_t len;
char *ptr;
if ( dli->dli_oc == NULL ) {
fprintf( stderr, "dynlist_db_open(): missing \"dynlist-oc <ObjectClass>\"\n" );
- rc = -1;
+ return -1;
}
if ( dli->dli_ad == NULL ) {
fprintf( stderr, "dynlist_db_open(): missing \"dynlist-ad <AttributeDescription>\"\n" );
- rc = -1;
+ return -1;
}
len = STRLENOF( "(!(objectClass=" "))" )
ptr = lutil_strcopy( ptr, "))" );
dli->dli_default_filter.bv_len = ptr - dli->dli_default_filter.bv_val;
- return rc;
+ return 0;
}
static int