/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 1998-2004 The OpenLDAP Foundation.
+ * Copyright 1998-2005 The OpenLDAP Foundation.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
if ( controloid == NULL ) return LDAP_PARAM_ERROR;
/* sanity check - should never happen */
- for ( i = 1; slap_known_controls[ i ]; i++ ) {
+ for ( i = 0; slap_known_controls[ i ]; i++ ) {
if ( strcmp( controloid, slap_known_controls[ i ] ) == 0 ) {
Debug( LDAP_DEBUG_ANY,
"Control %s already registered.\n",
sc->sc_cid = num_known_controls;
/* Update slap_known_controls, too. */
- slap_known_controls[num_known_controls++] = sc->sc_oid;
- slap_known_controls[num_known_controls] = NULL;
+ slap_known_controls[num_known_controls-1] = sc->sc_oid;
+ slap_known_controls[num_known_controls++] = NULL;
LDAP_SLIST_NEXT( sc, sc_next ) = NULL;
LDAP_SLIST_INSERT_HEAD( &controls_list, sc, sc_next );
an[i].an_oc_exclude = 0;
rc = slap_bv2ad( &an[i].an_name, &an[i].an_desc, &dummy );
if ( rc != LDAP_SUCCESS && ctrl->ldctl_iscritical ) {
- rs->sr_text = dummy ? dummy : "postread control: unknown attributeType";
+ rs->sr_text = dummy
+ ? dummy
+ : "postread control: unknown attributeType";
return rc;
}
}
an[i].an_oc_exclude = 0;
rc = slap_bv2ad( &an[i].an_name, &an[i].an_desc, &dummy );
if ( rc != LDAP_SUCCESS && ctrl->ldctl_iscritical ) {
- rs->sr_text = dummy ? dummy : "postread control: unknown attributeType";
+ rs->sr_text = dummy
+ ? dummy
+ : "postread control: unknown attributeType";
return rc;
}
}