From b2c491a08028b7bababe1fe2c09d1f0ac75bdb4f Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 22 Aug 1995 14:52:08 +0000 Subject: make inline and macro implementations match --- cpukit/rtems/inline/rtems/rtems/message.inl | 7 +++---- cpukit/rtems/macros/rtems/rtems/message.inl | 28 ++++++++++++++-------------- 2 files changed, 17 insertions(+), 18 deletions(-) (limited to 'cpukit/rtems') diff --git a/cpukit/rtems/inline/rtems/rtems/message.inl b/cpukit/rtems/inline/rtems/rtems/message.inl index 18d793d2fe..8837159580 100644 --- a/cpukit/rtems/inline/rtems/rtems/message.inl +++ b/cpukit/rtems/inline/rtems/rtems/message.inl @@ -133,10 +133,9 @@ STATIC INLINE void _Message_queue_Free ( Message_queue_Control *the_message_queue ) { - if (the_message_queue->message_buffers) - { - _Workspace_Free((void *) the_message_queue->message_buffers); - the_message_queue->message_buffers = 0; + if (the_message_queue->message_buffers) { + _Workspace_Free((void *) the_message_queue->message_buffers); + the_message_queue->message_buffers = 0; } _Objects_Free( &_Message_queue_Information, &the_message_queue->Object ); diff --git a/cpukit/rtems/macros/rtems/rtems/message.inl b/cpukit/rtems/macros/rtems/rtems/message.inl index 5415708ac5..ac0b1afb3a 100644 --- a/cpukit/rtems/macros/rtems/rtems/message.inl +++ b/cpukit/rtems/macros/rtems/rtems/message.inl @@ -23,8 +23,7 @@ */ #define _Message_queue_Copy_buffer( _source, _destination ) \ - *(Message_queue_Buffer *)(_destination) = \ - *(Message_queue_Buffer *)(_source) + memcpy( _destination, _source, _size) /*PAGE * @@ -84,16 +83,6 @@ #define _Message_queue_Is_null( _the_message_queue ) \ ( (_the_message_queue) == NULL ) -/*PAGE - * - * _Message_queue_Allocate - * - */ - -#define _Message_queue_Allocate() \ - (Message_queue_Control *) \ - _Objects_Allocate( &_Message_queue_Information ) - /*PAGE * * _Message_queue_Free @@ -101,8 +90,19 @@ */ #define _Message_queue_Free( _the_message_queue ) \ - _Objects_Free( &_Message_queue_Information, \ - &(_the_message_queue)->Object ) + do { \ + \ + if ( (_the_messsage_queue)->message_buffers ) { \ + _Workspace_Free((void *) (_the_message_queue)->message_buffers); \ + (_the_message_queue)->message_buffers = 0; \ + } + \ + _Objects_Free( \ + &_Message_queue_Information, \ + &(_the_message_queue)->Object \ + ); \ + } while ( 0 ) + /*PAGE * -- cgit v1.2.3