per_support: Fix bit error in encoding process

Thanks to Dieter Spaar for finding and fixing this !
changes/25/5825/1
Sylvain Munaut 13 years ago
parent 13e3e9a6bf
commit 821d89c20e
  1. 3
      skeletons/per_support.c

@ -336,7 +336,8 @@ per_put_few_bits(asn_per_outp_t *po, uint32_t bits, int obits) {
buf[3] = bits;
else {
ASN_DEBUG("->[PER out split %d]", obits);
per_put_few_bits(po, bits >> 8, 24);
po->nboff -= obits; /* undo incrementation from a few lines above */
per_put_few_bits(po, bits >> (obits - 24), 24); /* shift according to the rest of the bits */
per_put_few_bits(po, bits, obits - 24);
ASN_DEBUG("<-[PER out split %d]", obits);
}

Loading…
Cancel
Save