+/* $OpenLDAP$ */
/*
* Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved.
* COPYING RESTRICTIONS APPLY, see COPYRIGHT file
*
* modrdn.c
*/
-
/*
* Support for MODIFYDN REQUEST V3 (newSuperior) by:
*
* Redistribution and use in source and binary forms are permitted
* without restriction or fee of any kind as long as this notice
* is preserved.
- *
+ */
+
+/*
+ * A modify rdn request looks like this:
+ * ModifyRDNRequest ::= SEQUENCE {
+ * entry DistinguishedName,
+ * newrdn RelativeDistinguishedName,
+ * deleteoldrdn BOOLEAN
+ * newSuperior [0] DistinguishedName [v3 only]
+ * }
*/
#include "portable.h"
LDAPControl **cctrls,
int *msgidp )
{
- /*
- * A modify rdn request looks like this:
- * ModifyRDNRequest ::= SEQUENCE {
- * entry DistinguishedName,
- * newrdn RelativeDistinguishedName,
- * deleteoldrdn BOOLEAN
- * newSuperior [0] DistinguishedName [v3 only]
- * }
- */
-
BerElement *ber;
int rc;
Debug( LDAP_DEBUG_TRACE, "ldap_rename\n", 0, 0, 0 );
/* create a message to send */
- if ( (ber = ldap_alloc_ber_with_options( ld )) == NULLBER ) {
+ if ( (ber = ldap_alloc_ber_with_options( ld )) == NULL ) {
return( LDAP_NO_MEMORY );
}
if( newSuperior != NULL ) {
/* must be version 3 (or greater) */
- if ( ld->ld_version == 0 ) {
- ld->ld_version = LDAP_VERSION3;
- }
-
if ( ld->ld_version < LDAP_VERSION3 ) {
ld->ld_errno = LDAP_NOT_SUPPORTED;
ber_free( ber, 1 );
return( ld->ld_errno );
}
- rc = ber_printf( ber, "{it{ssbts}", /* leave '}' for later */
+ rc = ber_printf( ber, "{it{ssbts}", /* '}' */
++ld->ld_msgid, LDAP_REQ_MODDN,
- dn, newrdn, deleteoldrdn,
+ dn, newrdn, (ber_int_t) deleteoldrdn,
LDAP_TAG_NEWSUPERIOR, newSuperior );
} else {
- rc = ber_printf( ber, "{it{ssb}", /* leave '}' for later */
+ rc = ber_printf( ber, "{it{ssb}", /* '}' */
++ld->ld_msgid, LDAP_REQ_MODDN,
- dn, newrdn, deleteoldrdn );
+ dn, newrdn, (ber_int_t) deleteoldrdn );
}
if ( rc < 0 ) {
return ld->ld_errno;
}
- /* close the '{' */
- rc = ber_printf( ber, "}" );
+ rc = ber_printf( ber, /*{*/ "}" );
if ( rc < 0 ) {
ld->ld_errno = LDAP_ENCODING_ERROR;
ber_free( ber, 1 );