diff options
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_exception.cpp')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_exception.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_exception.cpp b/TAO/TAO_IDL/be/be_visitor_exception.cpp index b0dfc14eada..5caa004b73b 100644 --- a/TAO/TAO_IDL/be/be_visitor_exception.cpp +++ b/TAO/TAO_IDL/be/be_visitor_exception.cpp @@ -192,7 +192,7 @@ int be_visitor_exception_ch::visit_exception (be_exception *node) if (node->is_nested ()) *os << "friend "; *os << "void operator<<= (CORBA::Any &, " << node->local_name () - << "); // noncopying version" << be_nl; + << "*); // noncopying version" << be_nl; if (node->is_nested ()) *os << "friend "; *os << "CORBA::Boolean operator>>= (const CORBA::Any &, " @@ -441,7 +441,12 @@ int be_visitor_exception_cs::visit_exception (be_exception *node) << "if (stream.decode (" << node->tc_name () << ", &_tao_elem, 0, _tao_env)" << be_nl << " == CORBA::TypeCode::TRAVERSE_CONTINUE)" << be_nl - << " return 1;" << be_nl + << "{" << be_idt_nl + << "((CORBA::Any *)&_tao_any)->replace (_tao_any.type (), " + << "_tao_elem, 1, _tao_env);" + << be_nl + << " return 1;" << be_uidt_nl + << "}" << be_nl << "else" << be_nl << " return 0;" << be_uidt_nl << "}\n\n"; |