summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-06-10 15:09:48 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-06-10 15:09:48 +0000
commit2e5a3151942cf2a71f50fcedc813a333c3b3da14 (patch)
tree602c846ecadac6e165b05db60508a74796b62f62
parent5c7a25ecf92c7eeccfe86f51710d7959cd6acf5a (diff)
downloadATCD-2e5a3151942cf2a71f50fcedc813a333c3b3da14.tar.gz
ChangeLogTag: Tue Jun 10 10:05:34 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/ChangeLog9
-rw-r--r--TAO/TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp17
2 files changed, 25 insertions, 1 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 9c343381053..f62922f3712 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,12 @@
+Tue Jun 10 10:05:34 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp (visit_node):
+
+ Added fix to visitor logic for CDR input that was overlooked
+ when I added the same fix for CDR output in
+
+ Sun Jun 8 13:39:39 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
+
Tue Jun 10 09:33:41 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
* orbsvcs\orbsvcs\IFRService\ComponentDef_i.cpp:
diff --git a/TAO/TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp
index 583ea652251..5befc431aba 100644
--- a/TAO/TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp
@@ -124,6 +124,7 @@ be_visitor_sequence_cdr_op_cs::visit_sequence (be_sequence *node)
<< be_nl << be_nl;
*os << "if (strm << _tao_seq_len)" << be_idt_nl
<< "{" << be_idt_nl;
+
// Now encode the sequence elements.
*os << "// Encode all elements." << be_nl;
@@ -232,7 +233,21 @@ be_visitor_sequence_cdr_op_cs::visit_sequence (be_sequence *node)
*os << "// Retrieve all the elements." << be_nl;
- this->visit_node (bt);
+ if (bt->node_type () == AST_Decl::NT_sequence)
+ {
+ this->visit_node (node);
+ }
+ else
+ {
+ if (bt->accept (this) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_sequence_cdr_op_cs::"
+ "visit_sequence - "
+ "Base type codegen failed\n"),
+ -1);
+ }
+ }
if (expr->ev ()->u.ulval > 0)
{