summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-09-03 00:27:02 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-09-03 00:27:02 +0000
commit4954791a3306d5c85249d6950aae49365897f0a2 (patch)
treed242017db2dbb53168b9370cfe92dea3ce3cda5f
parentef949276959123fd1d41f3e8c6dae9a514c36174 (diff)
downloadATCD-4954791a3306d5c85249d6950aae49365897f0a2.tar.gz
ChangeLogTag:Wed Sep 2 19:24:24 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
-rw-r--r--TAO/ChangeLog-98c7
-rw-r--r--TAO/tao/Sequence.cpp22
-rw-r--r--TAO/tao/Sequence.i22
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) */