Tweaking UPER decoding

This commit is contained in:
2024-07-16 07:28:06 -04:00
parent 307bd3b811
commit 083bb5a72e
5 changed files with 8 additions and 14 deletions

View File

@ -80,10 +80,7 @@ uint oer_get_extension(OER_Stream *oer, OER_Extension *ext, uint noptions, uint
uint length;
oer_get_length(oer, &length);
ext->length = length;
if (_asn1_debug_on_)
printf("\tEXT_LEN = %d\n", ext->length);
ext->length = length;
// otherwise no ...
}
else {

View File

@ -75,8 +75,6 @@ void oer_put_extension(OER_Stream *oer, OER_Extension *ext)
if (ext->length) {
uint len = ext->length & 0x7fff;
if (_asn1_debug_on_)
printf("\tEXT_LEN = %d\n", ext->length);
oer_put_length(oer, len);
}
}

View File

@ -131,7 +131,7 @@ uint64_t uper_get_bits_stream(UPER_Stream *uper, uint nbits)
uint n = 1 + ((sbit + nbits)/8);
if (_asn1_debug_on_ == 2)
printf("\tGET_BITS_DETAIL = sbit=%d, ebit=%d, nbits=%d (%d) ", sbit, ebit, nbits, n);
printf("\tGET_BITS_DETAIL = byte=%03x, sbit=%d, ebit=%d, nbits=%d (%d) ", uper->consumed/8, sbit, ebit, nbits, n);
if (nbits==1) {
// speed short cut
@ -159,7 +159,7 @@ uint64_t uper_get_bits_stream(UPER_Stream *uper, uint nbits)
uper->consumed += nbits;
if (_asn1_debug_on_)
printf("\tGET_BITS = %08lx (%ld)\n", value, value);
printf("\tGET_BITS_DATA = %08lx (%ld)\n", value, value);
return value;
}

View File

@ -69,20 +69,21 @@ uint uper_get_extension(UPER_Stream *uper, UPER_Extension *ext, uint noptions, u
if (ellipses) {
ext->ellipses = uper_get_bits_stream(uper, 1);
}
else
ext->ellipses = 0;
// check for options
if (noptions) {
ext->value = uper_get_bits_stream(uper, noptions);
ext->options = noptions;
}
else
ext->options = 0;
if (ext->ellipses) {
uper_get_ext_length(uper, ext);
if (_asn1_debug_on_)
printf("\tEXT_LEN = %d\n", ext->length);
// otherwise no ...
}
}
return ellipses + noptions;
}

View File

@ -70,8 +70,6 @@ void uper_put_extension(UPER_Stream *uper, UPER_Extension *ext)
if (ext->length) {
uint len = ext->length & 0x7fff;
if (_asn1_debug_on_)
printf("\tEXT_LEN = %d\n", ext->length);
if (len >= 128) {
uper_put_bits_stream(uper, 0x8000 | len, 16);
}