/*
* call-seq:
* conn.modrdn(dn, new_rdn, delete_old_rdn) => self
*
* Modify the RDN of the entry with DN, +dn+, giving it the new RDN,
* +new_rdn+. If +delete_old_rdn+ is *true*, the old RDN value will be deleted
* from the entry.
*/
VALUE
rb_ldap_conn_modrdn_s (VALUE self, VALUE dn, VALUE newrdn, VALUE delete_p)
{
RB_LDAP_DATA *ldapdata;
char *c_dn;
char *c_newrdn;
int c_delete_p;
GET_LDAP_DATA (self, ldapdata);
c_dn = StringValueCStr (dn);
c_newrdn = StringValueCStr (newrdn);
c_delete_p = (delete_p == Qtrue) ? 1 : 0;
ldapdata->err = ldap_modrdn2_s (ldapdata->ldap, c_dn, c_newrdn, c_delete_p);
Check_LDAP_Result (ldapdata->err);
return self;
}