+/* $OpenLDAP$ */
/*
* Copyright 1999, John C. Quillan, All rights reserved.
*
Backend *be,
Connection *conn,
Operation *op,
- char *base,
+ const char *base,
+ const char *nbase,
int scope,
int deref,
int sizelimit,
int timelimit,
Filter *filter,
- char *filterstr,
- char **attrs,
+ const char *filterstr,
+ AttributeName *attrs,
int attrsonly
)
{
int err = 0;
char *matched = NULL, *info = NULL;
PerlBackend *perl_back = (PerlBackend *)be->be_private;
+ AttributeName *an;
Entry *e;
char *buf;
int i;
XPUSHs(sv_2mortal(newSViv( timelimit )));
XPUSHs(sv_2mortal(newSViv( attrsonly )));
- for ( i = 0; attrs != NULL && attrs[i] != NULL; i++ ) {
- XPUSHs(sv_2mortal(newSVpv( attrs[i] , 0)));
+ for ( an = attrs; an; an = an->an_next ) {
+ XPUSHs(sv_2mortal(newSVpv( an->an_name.bv_val , 0)));
}
PUTBACK;
Debug( LDAP_DEBUG_ANY, "str2entry(%s) failed\n", buf, 0, 0 );
} else {
- send_search_entry( be,
- conn,
- op,
- e,
- attrs,
- attrsonly,
- 0 );
+ send_search_entry( be, conn, op,
+ e, attrs, attrsonly, NULL );
entry_free( e );
}
ldap_pvt_thread_mutex_unlock( &perl_interpreter_mutex );
if( return_code != 0 ) {
- send_ldap_result( conn, op, LDAP_OPERATIONS_ERROR, "", "" );
+ send_ldap_result( conn, op, LDAP_OPERATIONS_ERROR,
+ NULL, NULL, NULL, NULL );
} else {
- send_ldap_result( conn, op, LDAP_SUCCESS, "", "" );
+ send_ldap_result( conn, op, LDAP_SUCCESS,
+ NULL, NULL, NULL, NULL );
}
}