From ab2c65549d7b3451c6d00bee0c7b4347edb622f6 Mon Sep 17 00:00:00 2001 From: Dirk Ziegelmeier Date: Wed, 6 Apr 2016 11:16:54 +0200 Subject: [PATCH] Avoid divisions / module in SNMP code on stupid compilers Signed-off-by: goldsimon --- src/apps/snmp/snmp_core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/apps/snmp/snmp_core.c b/src/apps/snmp/snmp_core.c index 21670043..a4feac85 100644 --- a/src/apps/snmp/snmp_core.c +++ b/src/apps/snmp/snmp_core.c @@ -1071,7 +1071,7 @@ snmp_decode_bits(const u8_t *buf, u32_t buf_len, u32_t *bit_value) bits_processed++; b <<= 1; } - while ((bits_processed % 8) != 0); + while ((bits_processed & 0x07) != 0); /* &0x07 -> % 8 */ } else { bits_processed += 8; } @@ -1126,7 +1126,7 @@ u8_t snmp_encode_bits(u8_t *buf, u32_t buf_len, u32_t bit_value, u8_t bit_count) { u8_t len = 0; - u8_t min_bytes = (bit_count + 7) / 8; + u8_t min_bytes = (bit_count + 7) >> 3; /* >>3 -> / 8 */ while ((buf_len > 0) && (bit_value != 0x00)) { s8_t i = 7;