aboutsummaryrefslogtreecommitdiffstats
path: root/rrlp-ephemeris/asn1c_patches/01_fix_per_encoding_dieter.diff
diff options
context:
space:
mode:
authorSylvain Munaut <tnt@246tNt.com>2010-01-03 00:00:47 +0100
committerHarald Welte <laforge@gnumonks.org>2010-01-07 10:22:24 +0100
commitb1a83585a27c00a33ff1cb30ddeb082515595ba3 (patch)
tree08f67ee684f0838bd74258ff91d74253a5c02a28 /rrlp-ephemeris/asn1c_patches/01_fix_per_encoding_dieter.diff
parenta9923753ea65b94cc46a9c774c8d385a44fb38db (diff)
rrlp-ephemeris: Add directory with asn1c patches
- One is just to improve the debug prints - The other fixes a problem in PER encoding found by Dieter Spaar. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Diffstat (limited to 'rrlp-ephemeris/asn1c_patches/01_fix_per_encoding_dieter.diff')
-rw-r--r--rrlp-ephemeris/asn1c_patches/01_fix_per_encoding_dieter.diff17
1 files changed, 17 insertions, 0 deletions
diff --git a/rrlp-ephemeris/asn1c_patches/01_fix_per_encoding_dieter.diff b/rrlp-ephemeris/asn1c_patches/01_fix_per_encoding_dieter.diff
new file mode 100644
index 000000000..a09c20159
--- /dev/null
+++ b/rrlp-ephemeris/asn1c_patches/01_fix_per_encoding_dieter.diff
@@ -0,0 +1,17 @@
+Index: skeletons/per_support.c
+===================================================================
+--- skeletons/per_support.c (revision 1407)
++++ skeletons/per_support.c (working copy)
+@@ -336,7 +336,12 @@
+ buf[3] = bits;
+ else {
+ ASN_DEBUG("->[PER out split %d]", obits);
++#if 1 // Dieter
++ 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
++#else
+ per_put_few_bits(po, bits >> 8, 24);
++#endif
+ per_put_few_bits(po, bits, obits - 24);
+ ASN_DEBUG("<-[PER out split %d]", obits);
+ }