Пример #1
0
int
dnExtractRdn( 
	struct berval	*dn, 
	struct berval 	*rdn )
{
	LDAPRDN		*tmpRDN;
	const char	*p;
	int		rc;

	assert( dn );
	assert( rdn );

	if( dn->bv_len == 0 ) {
		return LDAP_OTHER;
	}

	rc = ldap_bv2rdn( dn, &tmpRDN, (char **)&p, LDAP_DN_FORMAT_LDAP );
	if ( rc != LDAP_SUCCESS ) {
		return rc;
	}

	rc = ldap_rdn2bv( tmpRDN, rdn, LDAP_DN_FORMAT_LDAPV3 | LDAP_DN_PRETTY );

	ldap_rdnfree( tmpRDN );
	if ( rc != LDAP_SUCCESS ) {
		return rc;
	}

	return LDAP_SUCCESS;
}
Пример #2
0
static int slapi_int_rdn_implode( Slapi_RDN *rdn )
{
	struct berval bv;
	int rc;

	if ( rdn->rdn == NULL ) {
		return LDAP_SUCCESS;
	}

	rc = ldap_rdn2bv( rdn->rdn, &bv, LDAP_DN_FORMAT_LDAPV3 | LDAP_DN_PRETTY );
	if ( rc != LDAP_SUCCESS ) {
		return rc;
	}

	slapi_ch_free_string( &rdn->bv.bv_val );
	rdn->bv = bv;

	return 0;
}