memset( bsi->bsi_e, 0, sizeof( Entry ) );
if ( bi->sql_baseObject && BACKSQL_IS_BASEOBJECT_ID( &eid->eid_id ) ) {
- rc = entry_dup_to( bi->sql_baseObject, bsi->bsi_e );
- if ( rc != LDAP_SUCCESS ) {
- return rc;
- }
-
+ (void)entry_dup2( bsi->bsi_e, bi->sql_baseObject );
goto done;
}
return 0;
}
-int entry_dup_to( Entry *source, Entry *dest )
+Entry *
+entry_dup2( Entry *dest, Entry *source )
{
+ assert( dest != NULL );
+ assert( source != NULL );
+
+ assert( dest->e_private == NULL );
+
dest->e_id = source->e_id;
ber_dupbv( &dest->e_name, &source->e_name );
ber_dupbv( &dest->e_nname, &source->e_nname );
dest->e_attrs = attrs_dup( source->e_attrs );
dest->e_ocflags = source->e_ocflags;
- return LDAP_SUCCESS;
+
+ return dest;
}
-Entry *entry_dup( Entry *e )
+Entry *
+entry_dup( Entry *e )
{
- Entry *ret;
-
- ret = entry_alloc();
- entry_dup_to(e, ret);
-
- return ret;
+ return entry_dup2( entry_alloc(), e );
}
#if 1
LDAP_SLAPD_F (int) entry_dn_cmp LDAP_P(( const void *v_a, const void *v_b ));
LDAP_SLAPD_F (int) entry_id_cmp LDAP_P(( const void *v_a, const void *v_b ));
LDAP_SLAPD_F (Entry *) entry_dup LDAP_P(( Entry *e ));
-LDAP_SLAPD_F (int) entry_dup_to LDAP_P(( Entry *src, Entry *dest ));
+LDAP_SLAPD_F (Entry *) entry_dup2 LDAP_P(( Entry *dest, Entry *src ));
LDAP_SLAPD_F (Entry *) entry_dup_bv LDAP_P(( Entry *e ));
LDAP_SLAPD_F (Entry *) entry_alloc LDAP_P((void));
LDAP_SLAPD_F (int) entry_prealloc LDAP_P((int num));