diff options
Diffstat (limited to 'TAO/tao/decode.cpp')
-rw-r--r-- | TAO/tao/decode.cpp | 44 |
1 files changed, 4 insertions, 40 deletions
diff --git a/TAO/tao/decode.cpp b/TAO/tao/decode.cpp index 878f96f75c4..0c3575a3a47 100644 --- a/TAO/tao/decode.cpp +++ b/TAO/tao/decode.cpp @@ -210,10 +210,6 @@ TAO_Marshal_Any::decode (CORBA::TypeCode_ptr, any->cdr_ = ACE_Message_Block::duplicate (out.begin ()); any->value_ = 0; - - if (any->type_) - CORBA::release (any->type_); - any->type_ = elem_tc._retn (); any->any_owns_data_ = 1; @@ -440,12 +436,7 @@ TAO_Marshal_TypeCode::decode (CORBA::TypeCode_ptr, // constructing indir_stream by subtracting 4 (length // of the offset parameter itself). - // TAO_InputCDR indir_stream (*stream, 8, offset - // - 4); - ACE_Message_Block *mb = (ACE_Message_Block *)stream->start (); - TAO_InputCDR indir_stream (mb->rd_ptr () + offset - 4, - -1 * (offset - 4)); - + TAO_InputCDR indir_stream (*stream, 8, offset - 4); continue_decoding = indir_stream.good_bit (); @@ -884,21 +875,8 @@ TAO_Marshal_Union::decode (CORBA::TypeCode_ptr tc, { member_val = base_union->_access (1); // marshal according to the matched typecode - if (member_tc->kind () == CORBA::tk_objref) - { - // we know that the object pointer is stored in a - // TAO_Object_Field_T parametrized type - TAO_Object_Field_T<CORBA_Object>* field = - ACE_reinterpret_cast (TAO_Object_Field_T<CORBA_Object> *, - member_val); - CORBA::Object_ptr ptr = field->_upcast (); - return stream->decode (member_tc, &ptr, data2, env); - } - else - { - return stream->decode (member_tc, member_val, - data2, env); - } + return stream->decode (member_tc, member_val, + data2, env); } } else @@ -917,21 +895,7 @@ TAO_Marshal_Union::decode (CORBA::TypeCode_ptr tc, if (default_tc) { member_val = base_union->_access (1); - if (default_tc->kind () == CORBA::tk_objref) - { - // we know that the object pointer is stored in a - // TAO_Object_Field_T parametrized type - TAO_Object_Field_T<CORBA_Object>* field = - ACE_reinterpret_cast (TAO_Object_Field_T<CORBA_Object> *, - member_val); - CORBA::Object_ptr ptr = field->_upcast (); - return stream->decode (default_tc, &ptr, data2, env); - } - else - { - return stream->decode (default_tc, member_val, - data2, env); - } + return stream->decode (default_tc, member_val, data2, env); } else return CORBA::TypeCode::TRAVERSE_CONTINUE; |