diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-09-03 00:27:02 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-09-03 00:27:02 +0000 |
commit | 4954791a3306d5c85249d6950aae49365897f0a2 (patch) | |
tree | d242017db2dbb53168b9370cfe92dea3ce3cda5f | |
parent | ef949276959123fd1d41f3e8c6dae9a514c36174 (diff) | |
download | ATCD-4954791a3306d5c85249d6950aae49365897f0a2.tar.gz |
ChangeLogTag:Wed Sep 2 19:24:24 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
-rw-r--r-- | TAO/ChangeLog-98c | 7 | ||||
-rw-r--r-- | TAO/tao/Sequence.cpp | 22 | ||||
-rw-r--r-- | TAO/tao/Sequence.i | 22 |
3 files changed, 29 insertions, 22 deletions
diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c index a9720ba2915..67c8ecded67 100644 --- a/TAO/ChangeLog-98c +++ b/TAO/ChangeLog-98c @@ -1,3 +1,10 @@ +Wed Sep 2 19:24:24 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * tao/Sequence.i: + * tao/Sequence.cpp: + Another method made inline (::replace()) to workaround a bug in + Sun/CC on Solaris 2.6 + Wed Sep 2 18:59:22 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> * TAO_IDL/driver/drv_args.cpp : Updated the print statements to diff --git a/TAO/tao/Sequence.cpp b/TAO/tao/Sequence.cpp index ad546df6a08..aec4d714355 100644 --- a/TAO/tao/Sequence.cpp +++ b/TAO/tao/Sequence.cpp @@ -382,28 +382,6 @@ TAO_Unbounded_Sequence<CORBA::Octet>::_allocate_buffer (CORBA::ULong length) this->buffer_ = tmp; } -void -TAO_Unbounded_Sequence<CORBA::Octet>::replace (CORBA::ULong max, - CORBA::ULong length, - CORBA::Octet *data, - CORBA::Boolean release) -{ - this->maximum_ = max; - this->length_ = length; - if (this->mb_ != 0) - { - ACE_Message_Block::release (this->mb_); - this->mb_ = 0; - } - else if (this->buffer_ && this->release_ == 1) - { - CORBA::Octet* tmp = ACE_reinterpret_cast(CORBA::Octet*,this->buffer_); - TAO_Unbounded_Sequence<CORBA::Octet>::freebuf (tmp); - } - this->buffer_ = data; - this->release_ = release; -} - void TAO_Unbounded_Sequence<CORBA::Octet>::_deallocate_buffer (void) { if (this->mb_ == 0 diff --git a/TAO/tao/Sequence.i b/TAO/tao/Sequence.i index ede6af9259c..e5c66799bef 100644 --- a/TAO/tao/Sequence.i +++ b/TAO/tao/Sequence.i @@ -375,4 +375,26 @@ TAO_Unbounded_Sequence<CORBA::Octet>::replace (CORBA::ULong length, this->release_ = 0; } +ACE_INLINE void +TAO_Unbounded_Sequence<CORBA::Octet>::replace (CORBA::ULong max, + CORBA::ULong length, + CORBA::Octet *data, + CORBA::Boolean release) +{ + this->maximum_ = max; + this->length_ = length; + if (this->mb_ != 0) + { + ACE_Message_Block::release (this->mb_); + this->mb_ = 0; + } + else if (this->buffer_ && this->release_ == 1) + { + CORBA::Octet* tmp = ACE_reinterpret_cast(CORBA::Octet*,this->buffer_); + TAO_Unbounded_Sequence<CORBA::Octet>::freebuf (tmp); + } + this->buffer_ = data; + this->release_ = release; +} + #endif /* defined (TAO_NO_COPY_OCTET_SEQUENCES) */ |