return LDAP_SUCCESS;
}
+int
+entry_decode_dn( EntryHeader *eh, struct berval *dn, struct berval *ndn )
+{
+ int i;
+ unsigned char *ptr = (unsigned char *)eh->bv.bv_val;
+
+ assert( dn != NULL || ndn != NULL );
+
+ ptr = (unsigned char *)eh->data;
+ i = entry_getlen(&ptr);
+ if ( dn != NULL ) {
+ dn->bv_val = (char *) ptr;
+ dn->bv_len = i;
+ }
+
+ if ( ndn != NULL ) {
+ ptr += i + 1;
+ i = entry_getlen(&ptr);
+ ndn->bv_val = (char *) ptr;
+ ndn->bv_len = i;
+ }
+
+ Debug( LDAP_DEBUG_TRACE,
+ "entry_decode_dn: \"%s\"\n",
+ dn ? dn->bv_val : ndn->bv_val, 0, 0 );
+
+ return 0;
+}
+
#ifdef SLAP_ZONE_ALLOC
int entry_decode(EntryHeader *eh, Entry **e, void *ctx)
#else
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