diff options
author | sma <sma@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2005-09-13 10:28:42 +0000 |
---|---|---|
committer | sma <sma@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2005-09-13 10:28:42 +0000 |
commit | c2421f2dcdf4c7b57a370e315b60fc0d9145951b (patch) | |
tree | be831a53187135584f02ea0dc177d02fb4ffac5e /TAO/TAO_IDL/be/be_visitor_sequence | |
parent | 4f6e5e4c32ad93ed63b02385f0874b9484064bab (diff) | |
download | ATCD-c2421f2dcdf4c7b57a370e315b60fc0d9145951b.tar.gz |
ChangeLogTag: Tue Sep 13 10:30:00 UTC 2005 Simon Massey <sma@prismtech.com>
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_sequence')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp index 577ca1ecc3d..a614ac55509 100644 --- a/TAO/TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp @@ -89,13 +89,18 @@ be_visitor_sequence_any_op_cs::visit_sequence (be_sequence *node) << "const " << node->name () << " &_tao_elem" << be_uidt_nl << ")" << be_uidt_nl << "{" << be_idt_nl + + << "if (0 == &_tao_elem) // Trying to de-reference NULL object" << be_idt_nl + << "_tao_any <<= static_cast<" << node->name () << " *>( 0 ); // Use non-copying insertion of a NULL" << be_uidt_nl + << "else" << be_idt_nl + << "TAO::Any_Dual_Impl_T<" << node->name () << ">::insert_copy (" << be_idt << be_idt_nl << "_tao_any," << be_nl << node->name () << "::_tao_any_destructor," << be_nl << node->tc_name () << "," << be_nl << "_tao_elem" << be_uidt_nl - << ");" << be_uidt << be_uidt_nl + << ");" << be_uidt << be_uidt << be_uidt_nl << "}" << be_nl << be_nl; // Non-copying insertion. |