Files
mars-tinyldap/scan_asn1int.c
leitner 2d32361380 check in work in progress.
Please see README.
2002-01-14 16:14:31 +00:00

22 lines
531 B
C

#include "asn1.h"
static long int handleint(const unsigned char* c,int len) {
long l=0;
while (len) {
l=l*256+*c;
--len; ++c;
}
return l;
}
int scan_asn1int(const char* src,const char* max,enum asn1_tagclass* tc,enum asn1_tagtype* tt,unsigned long* tag,unsigned long* l) {
int len,tmp;
long tlen;
if (!(len=scan_asn1tag(src,max,tc,tt,tag))) return 0;
if (!(tmp=scan_asn1length(src+len,max,&tlen))) return 0;
len+=tmp;
if (src+len+tlen>max) return 0;
*l=handleint(src+len,tlen);
return len+tlen;
}