2222
2323using namespace erpc ;
2424
25- #define ERPC_BUFFER_SIZE_UINT8 (( ERPC_DEFAULT_BUFFER_SIZE + sizeof ( uint64_t ) - 1 ))
26- # define ERPC_BUFFER_SIZE_UINT64 ( ERPC_BUFFER_SIZE_UINT8 / sizeof (uint64_t ))
25+ #define ERPC_BUFFER_SIZE_UINT64 \
26+ (( ERPC_DEFAULT_BUFFER_SIZE + sizeof ( uint64_t ) - 1 ) / sizeof (uint64_t ))
2727
2828// //////////////////////////////////////////////////////////////////////////////
2929// Classes
@@ -43,8 +43,8 @@ class StaticMessageBufferFactory : public MessageBufferFactory
4343 : m_semaphore(1 )
4444#endif
4545 {
46- (void )memset (m_freeBufferBitmap, 0xff , ERPC_DEFAULT_BUFFERS_COUNT >> 3 );
47- (void )memset (m_buffers, 0 , ERPC_DEFAULT_BUFFERS_COUNT * ERPC_BUFFER_SIZE_UINT8 );
46+ (void )memset (m_freeBufferBitmap, 0xff , sizeof (m_freeBufferBitmap) );
47+ (void )memset (m_buffers, 0 , sizeof (m_buffers) );
4848 }
4949
5050 /* !
@@ -112,8 +112,12 @@ class StaticMessageBufferFactory : public MessageBufferFactory
112112 }
113113
114114protected:
115- uint8_t m_freeBufferBitmap[(ERPC_DEFAULT_BUFFERS_COUNT >> 3U ) + 1U ]; /* !< Bitmat of used/not used buffers. */
116- uint64_t m_buffers[ERPC_DEFAULT_BUFFERS_COUNT ][ERPC_BUFFER_SIZE_UINT64 ]; /* !< Static buffers. */
115+ // ! Bitmap representing which buffers are in use. A bit value of 1 means free and 0 means in
116+ // ! use.
117+ uint8_t m_freeBufferBitmap[(ERPC_DEFAULT_BUFFERS_COUNT >> 3U ) +
118+ (ERPC_DEFAULT_BUFFERS_COUNT % 8 ? 1U : 0U )];
119+ // ! Static buffers
120+ uint64_t m_buffers[ERPC_DEFAULT_BUFFERS_COUNT ][ERPC_BUFFER_SIZE_UINT64 ];
117121#if !ERPC_THREADS_IS(NONE)
118122 Semaphore m_semaphore; /* !< Semaphore.*/
119123#endif
0 commit comments