-LDAPRDN *
-ldapava_append_to_rdn( LDAPRDN *rdn, LDAPAVA *ava )
-{
- LDAPRDN *newRDN;
- unsigned i = 0U;
-
- assert( ava );
-
- if ( rdn != NULL ) {
- for ( i = 0U; rdn[ i ]; i++ ) {
- /* no op */
- }
- }
- newRDN = LDAP_REALLOC( rdn, ( i + 2 ) * sizeof( LDAPAVA ** ) );
- newRDN[ i ] = LDAP_MALLOC( sizeof( LDAPAVA * ) );
- newRDN[ i ][ 0 ] = ava;
- newRDN[ i + 1 ] = NULL;
-
- return( newRDN );
-}
-
-LDAPRDN *
-ldapava_insert_into_rdn( LDAPRDN *rdn, LDAPAVA *ava, unsigned where )
-{
- LDAPRDN *newRDN;
- unsigned i = 0U;
-
- assert( ava );
-
- if ( rdn != NULL ) {
- for ( i = 0U; rdn[ i ]; i++ ) {
- /* no op */
- }
- }
- if ( where > i ) {
- where = i;
- /* assume "at end", which corresponds to
- * ldapava_append_to_rdn */
- }
-
- newRDN = LDAP_REALLOC( rdn, ( i + 2 ) * sizeof( LDAPAVA ** ) );
-
- /* data after insert point */
- AC_MEMCPY( &newRDN[ where + 1 ], &newRDN[ where ],
- ( i - where ) * sizeof( LDAPRDN * ) );
-
- newRDN[ where ] = LDAP_MALLOC( sizeof( LDAPAVA * ) );
- newRDN[ where ][ 0 ] = ava;
- newRDN[ i + 1 ] = NULL;
-
- return( newRDN );
-}
-