/* * 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; }