fmt_asn1generic, see t10.c for example usage) add "generic" asn.1 dumper (in t10.c) fix some read off-by-one errors, minor cleanups add real OID support add bitstring support
15 lines
354 B
C
15 lines
354 B
C
#include "asn1.h"
|
|
|
|
size_t scan_asn1tagint(const char* src,const char* max,unsigned long* val) {
|
|
const char* orig=src;
|
|
unsigned long l=0;
|
|
for (;; ++src) {
|
|
if (src>=max) return 0;
|
|
if (l>(((unsigned long)-1)>>7)) return 0; /* catch integer overflow */
|
|
l=l*128+(*src&0x7F);
|
|
if (!(*src&0x80)) break;
|
|
}
|
|
*val=l;
|
|
return src-orig+1;
|
|
}
|