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_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_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
|
||||
if (noptions) {
|
||||
ext->value = uper_get_bits_stream(uper, noptions);
|
||||
ext->options = noptions;
|
||||
ext->value = uper_get_bits_stream(uper, noptions);
|
||||
}
|
||||
else
|
||||
ext->options = 0;
|
||||
@ -120,7 +120,7 @@ uint uper_get_ext_optional(UPER_Extension *ext, uint bit)
|
||||
if (!ext || (bit>=ext->options))
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user