]> git.sur5r.net Git - openldap/blobdiff - libraries/libldap/modrdn.c
stdlib.h should be included as <ac/stdlib.h>
[openldap] / libraries / libldap / modrdn.c
index 209ec4315ad3814b6f1d3a125aad70c58edb488f..54a3303a9f01ed1a67c211e4ebe8eaa2c62209c7 100644 (file)
@@ -1,6 +1,6 @@
 /* $OpenLDAP$ */
 /*
- * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */
 /*  Portions
@@ -59,8 +59,8 @@ ldap_rename(
        LDAP *ld,
        LDAP_CONST char *dn,
        LDAP_CONST char *newrdn,
-       int deleteoldrdn,
        LDAP_CONST char *newSuperior,
+       int deleteoldrdn,
        LDAPControl **sctrls,
        LDAPControl **cctrls,
        int *msgidp )
@@ -70,6 +70,10 @@ ldap_rename(
 
        Debug( LDAP_DEBUG_TRACE, "ldap_rename\n", 0, 0, 0 );
 
+       /* check client controls */
+       rc = ldap_int_client_controls( ld, cctrls );
+       if( rc != LDAP_SUCCESS ) return rc;
+
        /* create a message to send */
        if ( (ber = ldap_alloc_ber_with_options( ld )) == NULL ) {
                return( LDAP_NO_MEMORY );
@@ -83,13 +87,13 @@ ldap_rename(
                        return( ld->ld_errno );
                }
 
-               rc = ber_printf( ber, "{it{ssbts}", /* '}' */ 
+               rc = ber_printf( ber, "{it{ssbtsN}", /* '}' */ 
                        ++ld->ld_msgid, LDAP_REQ_MODDN,
                        dn, newrdn, (ber_int_t) deleteoldrdn,
                        LDAP_TAG_NEWSUPERIOR, newSuperior );
 
        } else {
-               rc = ber_printf( ber, "{it{ssb}", /* '}' */ 
+               rc = ber_printf( ber, "{it{ssbN}", /* '}' */ 
                        ++ld->ld_msgid, LDAP_REQ_MODDN,
                        dn, newrdn, (ber_int_t) deleteoldrdn );
        }
@@ -106,7 +110,7 @@ ldap_rename(
                return ld->ld_errno;
        }
 
-       rc = ber_printf( ber, /*{*/ "}" );
+       rc = ber_printf( ber, /*{*/ "N}" );
        if ( rc < 0 ) {
                ld->ld_errno = LDAP_ENCODING_ERROR;
                ber_free( ber, 1 );
@@ -141,16 +145,16 @@ ldap_rename2(
        LDAP *ld,
        LDAP_CONST char *dn,
        LDAP_CONST char *newrdn,
-       int deleteoldrdn,
-       LDAP_CONST char *newSuperior )
+       LDAP_CONST char *newSuperior,
+       int deleteoldrdn )
 {
        int msgid;
        int rc;
 
        Debug( LDAP_DEBUG_TRACE, "ldap_rename2\n", 0, 0, 0 );
 
-       rc = ldap_rename( ld, dn, newrdn, deleteoldrdn, newSuperior,
-               NULL, NULL, &msgid );
+       rc = ldap_rename( ld, dn, newrdn, newSuperior,
+               deleteoldrdn, NULL, NULL, &msgid );
 
        return rc == LDAP_SUCCESS ? msgid : -1;
 }
@@ -173,13 +177,13 @@ ldap_modrdn2( LDAP *ld,
        LDAP_CONST char *newrdn,
        int deleteoldrdn )
 {
-       return ldap_rename2( ld, dn, newrdn, deleteoldrdn, NULL );
+       return ldap_rename2( ld, dn, newrdn, NULL, deleteoldrdn );
 }
 
 int
 ldap_modrdn( LDAP *ld, LDAP_CONST char *dn, LDAP_CONST char *newrdn )
 {
-       return( ldap_rename2( ld, dn, newrdn, 1, NULL ) );
+       return( ldap_rename2( ld, dn, newrdn, NULL, 1 ) );
 }
 
 
@@ -188,8 +192,8 @@ ldap_rename_s(
        LDAP *ld,
        LDAP_CONST char *dn,
        LDAP_CONST char *newrdn,
-       int deleteoldrdn,
        LDAP_CONST char *newSuperior,
+       int deleteoldrdn,
        LDAPControl **sctrls,
        LDAPControl **cctrls )
 {
@@ -197,8 +201,8 @@ ldap_rename_s(
        int msgid;
        LDAPMessage *res;
 
-       rc = ldap_rename( ld, dn, newrdn, deleteoldrdn,
-               newSuperior, sctrls, cctrls, &msgid );
+       rc = ldap_rename( ld, dn, newrdn, newSuperior,
+               deleteoldrdn, sctrls, cctrls, &msgid );
 
        if( rc != LDAP_SUCCESS ) {
                return rc;
@@ -218,21 +222,22 @@ ldap_rename2_s(
        LDAP *ld,
        LDAP_CONST char *dn,
        LDAP_CONST char *newrdn,
-       int deleteoldrdn,
-       LDAP_CONST char *newSuperior )
+       LDAP_CONST char *newSuperior,
+       int deleteoldrdn )
 {
-       return ldap_rename_s( ld, dn, newrdn, deleteoldrdn, newSuperior, NULL, NULL );
+       return ldap_rename_s( ld, dn, newrdn, newSuperior,
+               deleteoldrdn, NULL, NULL );
 }
 
 int
 ldap_modrdn2_s( LDAP *ld, LDAP_CONST char *dn, LDAP_CONST char *newrdn, int deleteoldrdn )
 {
-       return ldap_rename_s( ld, dn, newrdn, deleteoldrdn, NULL, NULL, NULL );
+       return ldap_rename_s( ld, dn, newrdn, NULL, deleteoldrdn, NULL, NULL );
 }
 
 int
 ldap_modrdn_s( LDAP *ld, LDAP_CONST char *dn, LDAP_CONST char *newrdn )
 {
-       return ldap_rename_s( ld, dn, newrdn, 1, NULL, NULL, NULL );
+       return ldap_rename_s( ld, dn, newrdn, NULL, 1, NULL, NULL );
 }