AC_PATH_PROG(EDITOR, vi, /usr/ucb/vi, $PATH:/usr/ucb)
AC_PATH_PROG(FINGER, finger, /usr/ucb/finger, $PATH:/usr/ucb)
+dnl
+dnl Check for module support
+dnl
ol_link_modules=no
if test $ol_enable_modules != no ; then
AC_PATH_PROG(GLIBCONFIG, glib-config)
"ldbm_back_modrdn: no parent, locked root\n",
0, 0, 0 );
- }/* if ( (p_ndn = dn_parent( be, e->e_ndn )) != NULL ) else */
+ }
new_parent_dn = p_dn; /* New Parent unless newSuperior given */
if ( (np_dn = newSuperior) != NULL) {
-
-
Debug( LDAP_DEBUG_TRACE,
"ldbm_back_modrdn: new parent requested...\n",
0, 0, 0 );
np_ndn = dn_normalize_case( ch_strdup( np_dn ) );
/* newSuperior == oldParent?, if so ==> ERROR */
-
/* newSuperior == entry being moved?, if so ==> ERROR */
-
/* Get Entry with dn=newSuperior. Does newSuperior exist? */
if( (np = dn2entry_w( be, np_ndn, &matched )) == NULL) {
Debug( LDAP_DEBUG_TRACE,
"ldbm_back_modrdn: removing old_rdn_val=%s\n",
old_rdn_val, 0, 0 );
-
- }/* if (deleteoldrdn) */
-
+ }
} else {
-
-
Debug( LDAP_DEBUG_TRACE, "ldbm_back_modrdn: DNS DN\n",
0, 0, 0 );
/* XXXV3: not sure of what to do here */
return_results:
if( new_dn != NULL ) free( new_dn );
if( new_ndn != NULL ) free( new_ndn );
+
return_results_after:
/* NOTE:
* new_dn and new_ndn are not deallocated because they are used by
if ( np_dn != NULL ) free( np_dn );
if ( np_ndn != NULL ) free( np_ndn );
+ if( np != NULL ) {
+ /* free new parent and writer lock */
+ cache_return_entry_w( &li->li_cache, np );
+ }
+
if( p != NULL ) {
/* free parent and writer lock */
cache_return_entry_w( &li->li_cache, p );