diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-01-17 03:02:14 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-01-17 03:02:14 +0000 |
commit | 9e2a3645bced614f8848ddc2ea03a9bdb3197560 (patch) | |
tree | 7f78bd3fcbb4b648eb21bc2798b2ee231e71fc5e /TAO/tao/CONV_FRAMEC.i | |
parent | 328ab15090a250e7ddd96d481496c675aca2a43b (diff) | |
download | ATCD-9e2a3645bced614f8848ddc2ea03a9bdb3197560.tar.gz |
ChangeLogTag: Tue Jan 16 20:43:46 2001 Jeff Parsons <parsons@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/CONV_FRAMEC.i')
-rw-r--r-- | TAO/tao/CONV_FRAMEC.i | 109 |
1 files changed, 85 insertions, 24 deletions
diff --git a/TAO/tao/CONV_FRAMEC.i b/TAO/tao/CONV_FRAMEC.i index 811efdeeb48..ca01549ce64 100644 --- a/TAO/tao/CONV_FRAMEC.i +++ b/TAO/tao/CONV_FRAMEC.i @@ -41,12 +41,27 @@ ACE_INLINE CONV_FRAME::CodeSetComponent_var & CONV_FRAME::CodeSetComponent_var::operator= (const CONV_FRAME::CodeSetComponent_var &p) { if (this != &p) - { - delete this->ptr_; - ACE_NEW_RETURN (this->ptr_, - CONV_FRAME::CodeSetComponent (*p.ptr_), - *this); - } + { + if (p.ptr_ == 0) + { + delete this->ptr_; + this->ptr_ = 0; + } + else + { + CONV_FRAME::CodeSetComponent *deep_copy = + new CONV_FRAME::CodeSetComponent (*p.ptr_); + + if (deep_copy != 0) + { + CONV_FRAME::CodeSetComponent *tmp = deep_copy; + deep_copy = this->ptr_; + this->ptr_ = tmp; + delete deep_copy; + } + } + } + return *this; } @@ -385,12 +400,28 @@ ACE_INLINE CONV_FRAME::CodeSetComponent::_tao_seq_CodeSetId_var & CONV_FRAME::CodeSetComponent::_tao_seq_CodeSetId_var::operator= (const CONV_FRAME::CodeSetComponent::_tao_seq_CodeSetId_var &p) // deep copy { if (this != &p) - { - delete this->ptr_; - ACE_NEW_RETURN (this->ptr_, - CONV_FRAME::CodeSetComponent::_tao_seq_CodeSetId (*p.ptr_), - *this); - } + { + if (p.ptr_ == 0) + { + delete this->ptr_; + this->ptr_ = 0; + } + else + { + CONV_FRAME::CodeSetComponent::_tao_seq_CodeSetId *deep_copy = + new CONV_FRAME::CodeSetComponent::_tao_seq_CodeSetId (*p.ptr_); + + if (deep_copy != 0) + { + CONV_FRAME::CodeSetComponent::_tao_seq_CodeSetId *tmp = + deep_copy; + deep_copy = this->ptr_; + this->ptr_ = tmp; + delete deep_copy; + } + } + } + return *this; } @@ -571,12 +602,27 @@ ACE_INLINE CONV_FRAME::CodeSetComponentInfo_var & CONV_FRAME::CodeSetComponentInfo_var::operator= (const CONV_FRAME::CodeSetComponentInfo_var &p) { if (this != &p) - { - delete this->ptr_; - ACE_NEW_RETURN (this->ptr_, - CONV_FRAME::CodeSetComponentInfo (*p.ptr_), - *this); - } + { + if (p.ptr_ == 0) + { + delete this->ptr_; + this->ptr_ = 0; + } + else + { + CONV_FRAME::CodeSetComponentInfo *deep_copy = + new CONV_FRAME::CodeSetComponentInfo (*p.ptr_); + + if (deep_copy != 0) + { + CONV_FRAME::CodeSetComponentInfo *tmp = deep_copy; + deep_copy = this->ptr_; + this->ptr_ = tmp; + delete deep_copy; + } + } + } + return *this; } @@ -742,12 +788,27 @@ ACE_INLINE CONV_FRAME::CodeSetContext_var & CONV_FRAME::CodeSetContext_var::operator= (const CONV_FRAME::CodeSetContext_var &p) { if (this != &p) - { - delete this->ptr_; - ACE_NEW_RETURN (this->ptr_, - CONV_FRAME::CodeSetContext (*p.ptr_), - *this); - } + { + if (p.ptr_ == 0) + { + delete this->ptr_; + this->ptr_ = 0; + } + else + { + CONV_FRAME::CodeSetContext *deep_copy = + new CONV_FRAME::CodeSetContext (*p.ptr_); + + if (deep_copy != 0) + { + CONV_FRAME::CodeSetContext *tmp = deep_copy; + deep_copy = this->ptr_; + this->ptr_ = tmp; + delete deep_copy; + } + } + } + return *this; } |