Mercurial > hg > xemacs-beta
diff modules/ldap/eldap.c @ 5118:e0db3c197671 ben-lisp-object
merge up to latest default branch, doesn't compile yet
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sat, 26 Dec 2009 21:18:49 -0600 |
parents | 3742ea8250b5 3a87551bfeb5 |
children | d877c14318b3 |
line wrap: on
line diff
--- a/modules/ldap/eldap.c Sat Dec 26 00:20:27 2009 -0600 +++ b/modules/ldap/eldap.c Sat Dec 26 21:18:49 2009 -0600 @@ -141,7 +141,7 @@ static Lisp_LDAP * allocate_ldap (void) { - Lisp_LDAP *ldap = ALLOC_LCRECORD_TYPE (Lisp_LDAP, &lrecord_ldap); + Lisp_LDAP *ldap = XLDAP (ALLOC_LISP_OBJECT (ldap)); ldap->ld = NULL; ldap->host = Qnil; @@ -162,16 +162,10 @@ ldap->ld = NULL; } -#f 0 -DEFINE_LRECORD_IMPLEMENTATION ("ldap", ldap, 0, - mark_ldap, print_ldap, finalize_ldap, - NULL, NULL, ldap_description, Lisp_LDAP); -#else -DEFINE_NONDUMPABLE_LRECORD_IMPLEMENTATION ("ldap", ldap, mark_ldap, - print_ldap, finalize_ldap, - NULL, NULL, ldap_description, - Lisp_LDAP); -#endif +DEFINE_NODUMP_LISP_OBJECT ("ldap", ldap, mark_ldap, + print_ldap, finalize_ldap, + NULL, NULL, ldap_description, + Lisp_LDAP); /************************************************************************/ /* Basic ldap accessors */ @@ -431,7 +425,7 @@ LDAP *ld; LDAPMessage *e; BerElement *ptr; - Extbyte *a, *dn; + Extbyte *a, *dn, *bs, *filt; int i, rc; int matches; struct ldap_unwind_struct unwind; @@ -503,14 +497,10 @@ CHECK_SYMBOL (attrsonly); /* Perform the search */ - if (ldap_search (ld, - NILP (base) ? "" : - NEW_LISP_STRING_TO_EXTERNAL (base, Qnative), - ldap_scope, - NILP (filter) ? "" : - NEW_LISP_STRING_TO_EXTERNAL (filter, Qnative), - ldap_attributes, - NILP (attrsonly) ? 0 : 1) + bs = NILP (base) ? "" : NEW_LISP_STRING_TO_EXTERNAL (base, Qnative); + filt = NILP (filter) ? "" : NEW_LISP_STRING_TO_EXTERNAL (filter, Qnative); + if (ldap_search (ld, bs, ldap_scope, filt, ldap_attributes, + NILP (attrsonly) ? 0 : 1) == -1) { signal_ldap_error (ld, NULL, 0); @@ -822,7 +812,7 @@ void syms_of_eldap (void) { - INIT_LRECORD_IMPLEMENTATION (ldap); + INIT_LISP_OBJECT (ldap); DEFSYMBOL (Qeldap); DEFSYMBOL (Qldapp);