/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 2005 The OpenLDAP Foundation.
+ * Copyright 2005-2007 The OpenLDAP Foundation.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
{
struct berval parent_dn;
- dnParent( (struct berval *)&sdn->dn, &parent_dn );
-
- slapi_sdn_set_dn_byval( sdn_parent, parent_dn.bv_val );
+ if ( !(sdn->flag & FLAG_DN) ) {
+ dnParent( (struct berval *)&sdn->ndn, &parent_dn );
+ slapi_sdn_set_ndn_byval( sdn_parent, parent_dn.bv_val );
+ } else {
+ dnParent( (struct berval *)&sdn->dn, &parent_dn );
+ slapi_sdn_set_dn_byval( sdn_parent, parent_dn.bv_val );
+ }
}
void slapi_sdn_get_backend_parent( const Slapi_DN *sdn,
int slapi_sdn_isempty( const Slapi_DN *sdn)
{
- return ( BER_BVISEMPTY( &sdn->dn ) );
+ return ( BER_BVISEMPTY( &sdn->dn ) && BER_BVISEMPTY( &sdn->ndn ) );
}
int slapi_sdn_issuffix( const Slapi_DN *sdn, const Slapi_DN *suffix_sdn )
void slapi_rdn_set_sdn( Slapi_RDN *rdn, const Slapi_DN *sdn )
{
- return slapi_rdn_set_dn( rdn, slapi_sdn_get_dn( sdn ) );
+ slapi_rdn_set_dn( rdn, slapi_sdn_get_dn( sdn ) );
}
void slapi_rdn_set_rdn( Slapi_RDN *rdn, const Slapi_RDN *fromrdn )
{
- return slapi_rdn_set_dn( rdn, fromrdn->bv.bv_val );
+ slapi_rdn_set_dn( rdn, fromrdn->bv.bv_val );
}
void slapi_rdn_free( Slapi_RDN **rdn )