Files
mars-tinyldap/fmt_ldappal.c
leitner 8f9cd366f0 split fmt_ldapadl into fmt_ldapadl and fmt_ldapavl (the former is a
SEQUENCE used in search requests, the latter is a SET used in search
results)
2002-03-14 21:05:36 +00:00

25 lines
532 B
C

#include "asn1.h"
#include "ldap.h"
int fmt_ldappal(char* dest,struct PartialAttributeList* pal) {
// int l,l2,sum;
long sum,l,l2;
if (!pal) return 0;
sum=fmt_ldapstring(0,&pal->type);
/* look how much space the adl needs */
l=fmt_ldapavl(0,pal->values);
/* write sequence header */
l2=fmt_asn1SEQUENCE(dest,l+sum);
if (dest) {
fmt_ldapstring(dest+l2,&pal->type);
dest+=sum+l2;
}
sum+=l+l2;
if (dest) {
fmt_ldapavl(dest,pal->values);
dest+=l;
}
return sum+fmt_ldappal(dest,pal->next);
}