From aa1ed8a06eccac43ef1f81683b5e9f1d63c43a45 Mon Sep 17 00:00:00 2001 From: Peter McGoron Date: Tue, 7 Feb 2023 06:35:18 +0000 Subject: [PATCH] fix parse_special_byte function --- creole.c | 2 +- test_encode_decode.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/creole.c b/creole.c index 3da1e3e..d29d25c 100644 --- a/creole.c +++ b/creole.c @@ -210,7 +210,7 @@ static int parse_special_byte(unsigned char c, struct word *w) if (i >= SPECIAL_CONTINUE_BYTE_NUM) return 0; - w->high_bits = (w->high_bits << i) | ((c >> (5 - i)) & mask[i]); + w->high_bits = (w->high_bits << (i + 1)) | ((c >> (5 - i)) & mask[i]); w->word = c & wordmask[i]; return 1; } diff --git a/test_encode_decode.c b/test_encode_decode.c index e165e1e..fb0ba31 100644 --- a/test_encode_decode.c +++ b/test_encode_decode.c @@ -209,7 +209,7 @@ void encode_decode_byte_seq(creole_word max, unsigned encode_to, unsigned high_b static void test_encode_decode(void) { unsigned high_bits = 0; int encode_len; - creole_word maxima[6] = {0x7F, 0xFFF, 0x1FFFF, 0x3FFFFF, 0x7FFFFFF, 0xFFFFFFFF}; + const creole_word maxima[6] = {0x7F, 0xFFF, 0x1FFFF, 0x3FFFFF, 0x7FFFFFF, 0xFFFFFFFF}; encode_decode_byte_seq(0x7F, 1, 0);