Fixed asn.1 uper option bits
This commit is contained in:
@ -24,6 +24,8 @@
|
|||||||
#define uper_get_bits_length(U,S) (uper_get_bits_stream(U,S)+1)
|
#define uper_get_bits_length(U,S) (uper_get_bits_stream(U,S)+1)
|
||||||
#define uper_put_bits_length(U,L,S) uper_put_bits_stream(U,(L)-1,S)
|
#define uper_put_bits_length(U,L,S) uper_put_bits_stream(U,(L)-1,S)
|
||||||
|
|
||||||
|
#define uper_get_seq_length(U,S) (uper_get_bits_stream(U,S)+1)
|
||||||
|
|
||||||
#define uper_init_extension(E) asn1_init_extension(E)
|
#define uper_init_extension(E) asn1_init_extension(E)
|
||||||
#define uper_init_bitstream(E) asn1_init_bitstream(E)
|
#define uper_init_bitstream(E) asn1_init_bitstream(E)
|
||||||
|
|
||||||
|
|||||||
@ -74,8 +74,8 @@ uint uper_get_extension(UPER_Stream *uper, UPER_Extension *ext, uint noptions, u
|
|||||||
|
|
||||||
// check for options
|
// check for options
|
||||||
if (noptions) {
|
if (noptions) {
|
||||||
ext->value = uper_get_bits_stream(uper, noptions);
|
|
||||||
ext->options = noptions;
|
ext->options = noptions;
|
||||||
|
ext->value = uper_get_bits_stream(uper, noptions);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ext->options = 0;
|
ext->options = 0;
|
||||||
@ -120,7 +120,7 @@ uint uper_get_ext_optional(UPER_Extension *ext, uint bit)
|
|||||||
if (!ext || (bit>=ext->options))
|
if (!ext || (bit>=ext->options))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return (ext->value & 1<<(ext->options-bit));
|
return (ext->value & 1<<(ext->options-bit-1));
|
||||||
}
|
}
|
||||||
|
|
||||||
uint uper_get_ext_skip(UPER_Stream *uper, UPER_Extension *ext)
|
uint uper_get_ext_skip(UPER_Stream *uper, UPER_Extension *ext)
|
||||||
|
|||||||
Reference in New Issue
Block a user