summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cesar/mac/pbproc/src/sacki_dec.c4
-rw-r--r--cesar/mac/pbproc/test/sacki/src/test_sacki.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/cesar/mac/pbproc/src/sacki_dec.c b/cesar/mac/pbproc/src/sacki_dec.c
index a6c9551eaf..b575520350 100644
--- a/cesar/mac/pbproc/src/sacki_dec.c
+++ b/cesar/mac/pbproc/src/sacki_dec.c
@@ -80,7 +80,11 @@ pbproc_sacki_dec_process (pbproc_sacki_dec_t *ctx, uint pbl,
/* Lookup. */
uint eat = sack_dec_slow[si0 & 0x3f].eat;
if (eat > sil)
+ {
+ /* Eat everything and stop. */
+ sil = 0;
break;
+ }
uint prod = sack_dec_slow[si0 & 0x3f].prod;
uint nok0 = sack_dec_slow[si0 & 0x3f].nok0;
uint nok1 = sack_dec_slow[si0 & 0x3f].nok1;
diff --git a/cesar/mac/pbproc/test/sacki/src/test_sacki.c b/cesar/mac/pbproc/test/sacki/src/test_sacki.c
index b91eb27281..1cdb7db8ce 100644
--- a/cesar/mac/pbproc/test/sacki/src/test_sacki.c
+++ b/cesar/mac/pbproc/test/sacki/src/test_sacki.c
@@ -428,7 +428,7 @@ sacki_dec_test_suite (test_t t)
sacki_dec_test_case (
t, "too long",
"0 0 101 1110 0 111101 0 0 0 0 0 11111 0 11111 0 0 0 0 0 101 0 0 0 0"
- " 11111 11111 110 0 0 100 0 0 0 0 0 0 0 111", 69,
+ " 11111 11111 110 0 0 100 0 0 0 0 0 0 0 111", 72,
"0000 0000 001 0001 0000 101 0000 0000 0000 0000 0000 11 0000 11 0000"
" 0000 0000 0000 0000 001 0000 0000 0000 0000 11 11 100 0000 0000 010"
" 0000 0000 0000 0000 0000 0000 0000 111 11 1111", 144);