>>>> "JM" == Jeff Miller
<jmiller(a)smart.net> writes:
JM> I am getting this error when trying to compile the latest cvs. It
JM> compiles fine if i configure out the ldap support.
Here's a patch to convert to the new conversion macros. I will commit
it right away, since the current sources cannot compile.
JM> eldap.o: In function `Fldap_add':
JM> /cvs/xemacs/xemacs/src/eldap.c:634: undefined reference to
`GET_C_STRING_OS_DATA_ALLOCA'
JM> /cvs/xemacs/xemacs/src/eldap.c:649: undefined reference to
`GET_STRING_OS_DATA_ALLOCA'
JM> /cvs/xemacs/xemacs/src/eldap.c:662: undefined reference to
`GET_STRING_OS_DATA_ALLOCA'
JM> eldap.o: In function `Fldap_modify':
JM> /cvs/xemacs/xemacs/src/eldap.c:733: undefined reference to
`GET_C_STRING_OS_DATA_ALLOCA'
JM> /cvs/xemacs/xemacs/src/eldap.c:744: undefined reference to
`GET_STRING_OS_DATA_ALLOCA'
JM> collect2: ld returned 1 exit status
Completely untested, as usual.
Oscar, please review.
Oscar and Jeff, could you please check that 21.2 works with these changes?
src/ChangeLog:
2000-02-19 Martin Buchholz <martin(a)xemacs.org>
* eldap.c (Fldap_open):
(Fldap_search_basic):
(Fldap_add):
(Fldap_modify):
Use new coding system conversion macros.
Index: src/eldap.c
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/src/eldap.c,v
retrieving revision 1.13.2.13
diff -u -w -r1.13.2.13 eldap.c
--- eldap.c 2000/02/19 11:09:15 1.13.2.13
+++ eldap.c 2000/02/19 23:35:54
@@ -631,7 +631,9 @@
CHECK_CONS (current);
CHECK_STRING (XCAR (current));
ldap_mods_ptrs[i] = &(ldap_mods[i]);
- GET_C_STRING_OS_DATA_ALLOCA ( XCAR (current), ldap_mods[i].mod_type);
+ TO_EXTERNAL_FORMAT (LISP_STRING, XCAR (current),
+ C_STRING_ALLOCA, ldap_mods[i].mod_type,
+ Qnative);
ldap_mods[i].mod_op = LDAP_MOD_ADD | LDAP_MOD_BVALUES;
values = XCDR (current);
if (CONSP (values))
@@ -646,9 +648,10 @@
current = XCAR (values);
CHECK_STRING (current);
ldap_mods[i].mod_vals.modv_bvals[j] = &(bervals[j]);
- GET_STRING_OS_DATA_ALLOCA (current,
- bervals[j].bv_val,
- bervals[j].bv_len);
+ TO_EXTERNAL_FORMAT (LISP_STRING, current,
+ ALLOCA, (bervals[j].bv_val,
+ bervals[j].bv_len),
+ Qnative);
j++;
}
ldap_mods[i].mod_vals.modv_bvals[j] = NULL;
@@ -659,9 +662,10 @@
bervals = alloca_array (struct berval, 1);
ldap_mods[i].mod_vals.modv_bvals = alloca_array (struct berval *, 2);
ldap_mods[i].mod_vals.modv_bvals[0] = &(bervals[0]);
- GET_STRING_OS_DATA_ALLOCA (values,
- bervals[0].bv_val,
- bervals[0].bv_len);
+ TO_EXTERNAL_FORMAT (LISP_STRING, values,
+ ALLOCA, (bervals[0].bv_val,
+ bervals[0].bv_len),
+ Qnative);
ldap_mods[i].mod_vals.modv_bvals[1] = NULL;
}
i++;
@@ -730,7 +734,9 @@
signal_simple_error ("Invalid LDAP modification type", mod_op);
current = XCDR (current);
CHECK_STRING (XCAR (current));
- GET_C_STRING_OS_DATA_ALLOCA ( XCAR (current), ldap_mods[i].mod_type);
+ TO_EXTERNAL_FORMAT (LISP_STRING, XCAR (current),
+ C_STRING_ALLOCA, ldap_mods[i].mod_type,
+ Qnative);
values = XCDR (current);
bervals = alloca_array (struct berval, XINT (Flength (values)));
ldap_mods[i].mod_vals.modv_bvals =
@@ -741,9 +747,10 @@
current = XCAR (values);
CHECK_STRING (current);
ldap_mods[i].mod_vals.modv_bvals[j] = &(bervals[j]);
- GET_STRING_OS_DATA_ALLOCA (current,
- bervals[j].bv_val,
- bervals[j].bv_len);
+ TO_EXTERNAL_FORMAT (LISP_STRING, current,
+ ALLOCA, (bervals[j].bv_val,
+ bervals[j].bv_len),
+ Qnative);
j++;
}
ldap_mods[i].mod_vals.modv_bvals[j] = NULL;