Diff for /servers/slapd/back-bdb/modrdn.c between versions 1.177 and 1.178

version 1.177, 2006/01/01 08:23:24 version 1.178, 2006/01/02 14:38:04
Line 1 Line 1
 /* modrdn.c - bdb backend modrdn routine */  /* modrdn.c - bdb backend modrdn routine */
 /* $OpenLDAP: pkg/ldap/servers/slapd/back-bdb/modrdn.c,v 1.176 2005/12/06 21:55:30 ando Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/back-bdb/modrdn.c,v 1.177 2006/01/01 08:23:24 lukeh Exp $ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *   *
  * Copyright 2000-2006 The OpenLDAP Foundation.   * Copyright 2000-2006 The OpenLDAP Foundation.
Line 33  bdb_modrdn( Operation *op, SlapReply *rs Line 33  bdb_modrdn( Operation *op, SlapReply *rs
         Entry           *p = NULL;          Entry           *p = NULL;
         EntryInfo       *ei = NULL, *eip = NULL, *nei = NULL, *neip = NULL;          EntryInfo       *ei = NULL, *eip = NULL, *nei = NULL, *neip = NULL;
         /* LDAP v2 supporting correct attribute handling. */          /* LDAP v2 supporting correct attribute handling. */
         LDAPRDN         new_rdn = NULL;  
         LDAPRDN         old_rdn = NULL;  
         char textbuf[SLAP_TEXT_BUFLEN];          char textbuf[SLAP_TEXT_BUFLEN];
         size_t textlen = sizeof textbuf;          size_t textlen = sizeof textbuf;
         DB_TXN          *ltid = NULL, *lt2;          DB_TXN          *ltid = NULL, *lt2;
Line 528  retry: /* transaction retry */ Line 526  retry: /* transaction retry */
                 goto return_results;                  goto return_results;
         }          }
   
         /* Get attribute type and attribute value of our new rdn, we will  
          * need to add that to our new entry  
          */  
         if ( !new_rdn && ldap_bv2rdn_x( &op->oq_modrdn.rs_newrdn, &new_rdn,  
                 (char **)&rs->sr_text, LDAP_DN_FORMAT_LDAP, op->o_tmpmemctx ) )  
         {  
                 Debug( LDAP_DEBUG_TRACE,  
                         LDAP_XSTRING(bdb_modrdn) ": can't figure out "  
                         "type(s)/values(s) of newrdn\n",   
                         0, 0, 0 );  
                 rs->sr_err = LDAP_INVALID_DN_SYNTAX;  
                 rs->sr_text = "unknown type(s) used in RDN";  
                 goto return_results;  
         }  
   
         Debug( LDAP_DEBUG_TRACE,  
                 LDAP_XSTRING(bdb_modrdn)  
                 ": new_rdn_type=\"%s\", new_rdn_val=\"%s\"\n",  
                 new_rdn[ 0 ]->la_attr.bv_val,  
                 new_rdn[ 0 ]->la_value.bv_val, 0 );  
   
         if ( op->oq_modrdn.rs_deleteoldrdn ) {  
                 if ( !old_rdn && ldap_bv2rdn_x( &op->o_req_dn, &old_rdn,  
                         (char **)&rs->sr_text, LDAP_DN_FORMAT_LDAP, op->o_tmpmemctx ) )  
                 {  
                         Debug( LDAP_DEBUG_TRACE,  
                                 LDAP_XSTRING(bdb_modrdn) ": can't figure out "  
                                 "the old_rdn type(s)/value(s)\n",   
                                 0, 0, 0 );  
                         rs->sr_err = LDAP_OTHER;  
                         rs->sr_text = "cannot parse RDN from old DN";  
                         goto return_results;              
                 }  
         }  
   
         assert( op->orr_modlist != NULL );          assert( op->orr_modlist != NULL );
   
         if( op->o_preread ) {          if( op->o_preread ) {
Line 786  done: Line 749  done:
         if( new_dn.bv_val != NULL ) free( new_dn.bv_val );          if( new_dn.bv_val != NULL ) free( new_dn.bv_val );
         if( new_ndn.bv_val != NULL ) free( new_ndn.bv_val );          if( new_ndn.bv_val != NULL ) free( new_ndn.bv_val );
   
         /* LDAP v2 supporting correct attribute handling. */  
         if ( new_rdn != NULL ) {  
                 ldap_rdnfree_x( new_rdn, op->o_tmpmemctx );  
         }  
   
         if ( old_rdn != NULL ) {  
                 ldap_rdnfree_x( old_rdn, op->o_tmpmemctx );  
         }  
   
         /* LDAP v3 Support */          /* LDAP v3 Support */
         if( np != NULL ) {          if( np != NULL ) {
                 /* free new parent and reader lock */                  /* free new parent and reader lock */

Removed from v.1.177  
changed lines
  Added in v.1.178


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org