diff options
Diffstat (limited to 'TAO/tao/encode.cpp')
-rw-r--r-- | TAO/tao/encode.cpp | 38 |
1 files changed, 6 insertions, 32 deletions
diff --git a/TAO/tao/encode.cpp b/TAO/tao/encode.cpp index 8abd7f02742..75fc7db7c37 100644 --- a/TAO/tao/encode.cpp +++ b/TAO/tao/encode.cpp @@ -507,7 +507,8 @@ TAO_Marshal_Union::encode (CORBA::TypeCode_ptr tc, case CORBA::tk_enum: { CORBA::ULong ul; - TAO_InputCDR stream (member_label->_tao_get_cdr ()); + TAO_InputCDR stream ((ACE_Message_Block *) + member_label->_tao_get_cdr ()); (void)stream.decode (discrim_tc, &ul, 0, ACE_TRY_ENV); ACE_CHECK_RETURN (CORBA::TypeCode::TRAVERSE_STOP); if (ul == *(CORBA::ULong *) discrim_val) @@ -564,43 +565,16 @@ TAO_Marshal_Union::encode (CORBA::TypeCode_ptr tc, { member_val = base_union->_access (0); // 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->encode (member_tc, &ptr, data2, ACE_TRY_ENV); - } - else - { - return stream->encode (member_tc, member_val, - data2, ACE_TRY_ENV); - } + return stream->encode (member_tc, member_val, + data2, ACE_TRY_ENV); } } // we are here only if there was no match if (default_tc) { member_val = base_union->_access (0); - 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->encode (default_tc, &ptr, data2, ACE_TRY_ENV); - } - else - { - return stream->encode (default_tc, member_val, - data2, ACE_TRY_ENV); - } + return stream->encode (default_tc, member_val, data2, + ACE_TRY_ENV); } if (TAO_debug_level > 0) ACE_DEBUG ((LM_DEBUG, |