summaryrefslogtreecommitdiff
path: root/TAO/tao/Typecode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Typecode.cpp')
-rw-r--r--TAO/tao/Typecode.cpp26
1 files changed, 18 insertions, 8 deletions
diff --git a/TAO/tao/Typecode.cpp b/TAO/tao/Typecode.cpp
index 3d749c46f5c..8fe41e5999a 100644
--- a/TAO/tao/Typecode.cpp
+++ b/TAO/tao/Typecode.cpp
@@ -860,7 +860,7 @@ CORBA_TypeCode::equ_common (CORBA::TypeCode_ptr tc,
// typecode kinds are same
return rcvr->private_equal (tcvar.in (),
equiv_only
- ACE_ENV_ARG_PARAMETER);
+ ACE_ENV_ARG_PARAMETER);
}
CORBA::TCKind kind = tc->kind (ACE_ENV_SINGLE_ARG_PARAMETER);
@@ -2427,7 +2427,7 @@ CORBA_TypeCode::private_member_label (CORBA::ULong n
int retval =
TAO_Marshal_Object::perform_skip (disc_tc,
&temp
- ACE_ENV_ARG_PARAMETER);
+ ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (0);
if (retval != CORBA::TypeCode::TRAVERSE_CONTINUE)
@@ -2465,7 +2465,7 @@ CORBA_TypeCode::private_member_label (CORBA::ULong n
retval =
TAO_Marshal_Object::perform_skip (disc_tc,
&stream
- ACE_ENV_ARG_PARAMETER);
+ ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (0);
if (retval != CORBA::TypeCode::TRAVERSE_CONTINUE)
@@ -2481,7 +2481,7 @@ CORBA_TypeCode::private_member_label (CORBA::ULong n
TAO_Marshal_Object::perform_append (label_tc,
&stream,
&out
- ACE_ENV_ARG_PARAMETER);
+ ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (0);
if (retval != CORBA::TypeCode::TRAVERSE_CONTINUE)
@@ -2490,14 +2490,24 @@ CORBA_TypeCode::private_member_label (CORBA::ULong n
}
}
+ TAO::Unknown_IDL_Type *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO::Unknown_IDL_Type (
+ CORBA::TypeCode::_duplicate (label_tc),
+ out.begin (),
+ ACE_CDR_BYTE_ORDER,
+ 1
+ ),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
ACE_NEW_THROW_EX (label_list[i],
- CORBA::Any (label_tc,
- 0,
- ACE_CDR_BYTE_ORDER,
- out.begin ()),
+ CORBA::Any,
CORBA::NO_MEMORY ());
ACE_CHECK_RETURN (0);
+ label_list[i]->replace (impl);
+
if (stream.skip_string () == 0
|| this->skip_typecode (stream) == 0)
{