]> git.sur5r.net Git - openldap/commitdiff
Implemented newSuperior handling.
authorJuan Gomez <gomez@openldap.org>
Fri, 5 Mar 1999 19:14:23 +0000 (19:14 +0000)
committerJuan Gomez <gomez@openldap.org>
Fri, 5 Mar 1999 19:14:23 +0000 (19:14 +0000)
servers/slapd/back-perl/modrdn.c
servers/slapd/back-shell/modrdn.c
servers/slapd/back-tcl/tcl_modrdn.c

index 1542956c88a6adcc0ba2bfe8daf1dab50fa4f5bb..12808fdf5ee82093b4694cd5ac6eda9aa22d4615 100644 (file)
@@ -60,6 +60,9 @@ perl_back_modrdn(
                XPUSHs(sv_2mortal(newSVpv( dn , 0 )));
                XPUSHs(sv_2mortal(newSVpv( newrdn , 0 )));
                XPUSHs(sv_2mortal(newSViv( deleteoldrdn )));
+               if ( newSuperior != NULL ) {
+                       XPUSHs(sv_2mortal(newSVpv( newSuperior , 0 )));
+               }
                PUTBACK ;
 
                count = perl_call_method("modrdn", G_SCALAR);
index 22feda1e5d9769bf2b021208998b0d33be1a3339..d42742ca4ccc6f04813ffe2142c80f139612a3cd 100644 (file)
@@ -57,6 +57,9 @@ shell_back_modrdn(
        fprintf( wfp, "dn: %s\n", dn );
        fprintf( wfp, "newrdn: %s\n", newrdn );
        fprintf( wfp, "deleteoldrdn: %d\n", deleteoldrdn ? 1 : 0 );
+       if (newSuperior != NULL) {
+               fprintf( wfp, "newSuperior: %s\n", newSuperior );
+       }
        fclose( wfp );
 
        /* read in the results and send them along */
index 1dac7444c84017d0915dbee2d5f3bb9933fa7a14..e6af8b2b0340dd6fa9a0e6942ec6c4e1c0ad27ac 100644 (file)
@@ -1,6 +1,6 @@
 /* modrdn.c - tcl modify rdn routines
  *
- * $Id: tcl_modrdn.c,v 1.5 1999/02/28 04:55:49 bcollins Exp $
+ * $Id: tcl_modrdn.c,v 1.6 1999/03/05 02:42:46 gomez Exp $
  *
  * Copyright 1999, Ben Collins <bcollins@debian.org>, All rights reserved.
  *
@@ -55,10 +55,17 @@ tcl_back_modrdn (
        suf_tcl = Tcl_Merge (i, be->be_suffix);
 
        command = (char *) ch_malloc (strlen (ti->ti_modrdn) + strlen (suf_tcl)
-               + strlen (dn) + strlen (newrdn) + 64);
-       sprintf (command, "%s MODRDN {%ld} {%s} {%s} {%s} %d",
-               ti->ti_add, op->o_msgid, suf_tcl, dn, newrdn, deleteoldrdn
-               ? 1 : 0);
+               + strlen (dn) + strlen (newrdn)
+               + (newSuperior ? strlen(newSuperior) : 0) + 64);
+       if ( newSuperior ) {
+               sprintf (command, "%s MODRDN {%ld} {%s} {%s} {%s} %d {%s}",
+                        ti->ti_add, op->o_msgid, suf_tcl, dn, newrdn,
+                        deleteoldrdn ? 1 : 0, newSuperior );
+       } else {
+               sprintf (command, "%s MODRDN {%ld} {%s} {%s} {%s} %d",
+                        ti->ti_add, op->o_msgid, suf_tcl, dn, newrdn,
+                        deleteoldrdn ? 1 : 0 );
+       }       
        Tcl_Free (suf_tcl);
 
        ldap_pvt_thread_mutex_lock (&tcl_interpreter_mutex);