Loading prrt/proto/types/packet.c +9 −4 Original line number Diff line number Diff line Loading @@ -160,8 +160,10 @@ bool PrrtPacket_encode(void *buf_ptr, uint16_t buf_size, PrrtPacket *packet_ptr) #define PrrtPacketField_encode(payload, buf_ptr, field_t, field, conversion) \ do { \ field_t *ptr = (field_t *) (buf_ptr); \ *ptr = conversion((payload)->field); \ field_t PrrtPacketField_encode_value = conversion((payload)->field); \ /* memcpy to avoid misaligned access. * The compiler will optimize this into appropriate mov instructions */ \ memcpy(buf_ptr, &PrrtPacketField_encode_value, sizeof(field_t)); \ (buf_ptr) += sizeof(field_t); \ } while (false) Loading Loading @@ -254,8 +256,11 @@ bool PrrtPacket_decode(void *srcBuffer, uint16_t srcBufferSize, PrrtPacket *targ #define PrrtPacketField_decode(payload, buf_ptr, field_t, field, conversion) \ do { \ field_t *PrrtPacketField_decode_ptr = (field_t *) (buf_ptr); \ (payload)->field = conversion(*PrrtPacketField_decode_ptr); \ field_t PrrtPacketField_decode_value; \ /* memcpy to avoid misaligned access. * The compiler will optimize this into appropriate mov instructions */ \ memcpy(&PrrtPacketField_decode_value, buf_ptr, sizeof(field_t)); \ (payload)->field = conversion(PrrtPacketField_decode_value); \ (buf_ptr) += sizeof(field_t); \ } while (false) Loading prrt/util/bitmap.h +3 −3 Original line number Diff line number Diff line Loading @@ -26,14 +26,14 @@ BITMAP_EXPOSED_FUNCTION bool Bitmap_get(Bitmap *bitmap, uint32_t position) { uint32_t byte_offset = position / 32; uint32_t bit_offset = position % 32; return (bool) ((bitmap->data[byte_offset] & (1 << bit_offset)) != 0); return (bool) ((bitmap->data[byte_offset] & (1u << bit_offset)) != 0); } BITMAP_EXPOSED_FUNCTION bool Bitmap_set_0(Bitmap *bitmap, uint32_t position) { uint32_t byte_offset = position / 32; uint32_t bit_offset = position % 32; bitmap->data[byte_offset] &= ~(1 << bit_offset); bitmap->data[byte_offset] &= ~(1u << bit_offset); return true; } Loading @@ -41,7 +41,7 @@ BITMAP_EXPOSED_FUNCTION bool Bitmap_set_1(Bitmap *bitmap, uint32_t position) { uint32_t byte_offset = position / 32; uint32_t bit_offset = position % 32; bitmap->data[byte_offset] |= (1 << bit_offset); bitmap->data[byte_offset] |= (1u << bit_offset); return true; } Loading Loading
prrt/proto/types/packet.c +9 −4 Original line number Diff line number Diff line Loading @@ -160,8 +160,10 @@ bool PrrtPacket_encode(void *buf_ptr, uint16_t buf_size, PrrtPacket *packet_ptr) #define PrrtPacketField_encode(payload, buf_ptr, field_t, field, conversion) \ do { \ field_t *ptr = (field_t *) (buf_ptr); \ *ptr = conversion((payload)->field); \ field_t PrrtPacketField_encode_value = conversion((payload)->field); \ /* memcpy to avoid misaligned access. * The compiler will optimize this into appropriate mov instructions */ \ memcpy(buf_ptr, &PrrtPacketField_encode_value, sizeof(field_t)); \ (buf_ptr) += sizeof(field_t); \ } while (false) Loading Loading @@ -254,8 +256,11 @@ bool PrrtPacket_decode(void *srcBuffer, uint16_t srcBufferSize, PrrtPacket *targ #define PrrtPacketField_decode(payload, buf_ptr, field_t, field, conversion) \ do { \ field_t *PrrtPacketField_decode_ptr = (field_t *) (buf_ptr); \ (payload)->field = conversion(*PrrtPacketField_decode_ptr); \ field_t PrrtPacketField_decode_value; \ /* memcpy to avoid misaligned access. * The compiler will optimize this into appropriate mov instructions */ \ memcpy(&PrrtPacketField_decode_value, buf_ptr, sizeof(field_t)); \ (payload)->field = conversion(PrrtPacketField_decode_value); \ (buf_ptr) += sizeof(field_t); \ } while (false) Loading
prrt/util/bitmap.h +3 −3 Original line number Diff line number Diff line Loading @@ -26,14 +26,14 @@ BITMAP_EXPOSED_FUNCTION bool Bitmap_get(Bitmap *bitmap, uint32_t position) { uint32_t byte_offset = position / 32; uint32_t bit_offset = position % 32; return (bool) ((bitmap->data[byte_offset] & (1 << bit_offset)) != 0); return (bool) ((bitmap->data[byte_offset] & (1u << bit_offset)) != 0); } BITMAP_EXPOSED_FUNCTION bool Bitmap_set_0(Bitmap *bitmap, uint32_t position) { uint32_t byte_offset = position / 32; uint32_t bit_offset = position % 32; bitmap->data[byte_offset] &= ~(1 << bit_offset); bitmap->data[byte_offset] &= ~(1u << bit_offset); return true; } Loading @@ -41,7 +41,7 @@ BITMAP_EXPOSED_FUNCTION bool Bitmap_set_1(Bitmap *bitmap, uint32_t position) { uint32_t byte_offset = position / 32; uint32_t bit_offset = position % 32; bitmap->data[byte_offset] |= (1 << bit_offset); bitmap->data[byte_offset] |= (1u << bit_offset); return true; } Loading