summaryrefslogtreecommitdiff
path: root/TAO/tao/decode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/decode.cpp')
-rw-r--r--TAO/tao/decode.cpp44
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;