+/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 1998-2006 The OpenLDAP Foundation.
+ * Copyright 1998-2009 The OpenLDAP Foundation.
* Copyright 2006 Hans Leidekker
* All rights reserved.
*
* top-level directory of the distribution or, alternatively, at
* <http://www.OpenLDAP.org/license.html>.
*/
-/* Portions Copyright (C) The Internet Society (1999)
- * ASN.1 fragments are from RFC 2696; see RFC for full legal notices.
- */
#include "portable.h"
if ( ld == NULL || value == NULL ||
pagesize < 1 || pagesize > LDAP_MAXINT )
{
- ld->ld_errno = LDAP_PARAM_ERROR;
- return ld->ld_errno;
+ if ( ld )
+ ld->ld_errno = LDAP_PARAM_ERROR;
+ return LDAP_PARAM_ERROR;
}
assert( LDAP_VALID( ld ) );
value->bv_val = NULL;
value->bv_len = 0;
+ ld->ld_errno = LDAP_SUCCESS;
if ( cookie == NULL ) {
cookie = &null_cookie;
ld->ld_errno = ldap_create_page_control_value( ld,
pagesize, cookie, &value );
if ( ld->ld_errno == LDAP_SUCCESS ) {
- ld->ld_errno = ldap_create_control( LDAP_CONTROL_PAGEDRESULTS,
- NULL, iscritical, ctrlp );
- if ( ld->ld_errno == LDAP_SUCCESS ) {
- (*ctrlp)->ldctl_value = value;
- } else {
+ ld->ld_errno = ldap_control_create( LDAP_CONTROL_PAGEDRESULTS,
+ iscritical, &value, 0, ctrlp );
+ if ( ld->ld_errno != LDAP_SUCCESS ) {
LDAP_FREE( value.bv_val );
}
}
ber_int_t count;
if ( ld == NULL || ctrl == NULL || cookie == NULL ) {
- ld->ld_errno = LDAP_PARAM_ERROR;
- return ld->ld_errno;
+ if ( ld )
+ ld->ld_errno = LDAP_PARAM_ERROR;
+ return LDAP_PARAM_ERROR;
}
/* Create a BerElement from the berval returned in the control. */
return ld->ld_errno;
}
- c = ldap_find_control( LDAP_CONTROL_PAGEDRESULTS, ctrls );
+ c = ldap_control_find( LDAP_CONTROL_PAGEDRESULTS, ctrls, NULL );
if ( c == NULL ) {
/* No page control was found. */
ld->ld_errno = LDAP_CONTROL_NOT_FOUND;
ld->ld_errno = ldap_parse_pageresponse_control( ld, c, countp, &cookie );
if ( ld->ld_errno == LDAP_SUCCESS ) {
- *cookiep = LDAP_MALLOC( sizeof( struct berval * ) );
+ *cookiep = LDAP_MALLOC( sizeof( struct berval ) );
if ( *cookiep == NULL ) {
ld->ld_errno = LDAP_NO_MEMORY;
} else {