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

20 lines
443 B
C

#include "asn1.h"
int scan_asn1tag(const char* src,const char* max,enum asn1_tagclass* tc,enum asn1_tagtype* tt,unsigned long* tag) {
const char* orig=src;
*tc=(*src&0xC0);
*tt=(*src&0x20);
if (max<src) return 0;
if ((*src & 0x1f) == 0x1f) {
for (;;) {
if (src>max) return 0;
*tag=*tag*128+(*src&0x7F);
if (!(*src&0x80)) break;
}
return (src-orig+1);
} else {
*tag=*src&0x1f;
return 1;
}
}