summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL
diff options
context:
space:
mode:
authordai_y <dai_y@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-05-03 15:43:11 +0000
committerdai_y <dai_y@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-05-03 15:43:11 +0000
commit0c06e51250ba383a3030e83c80498f1257aed60d (patch)
tree07824f83f963108e776b063038ab3c8f06d985d1 /TAO/TAO_IDL
parent95f08946b86e7b8be7983df639e5df0a4cc7e60a (diff)
downloadATCD-0c06e51250ba383a3030e83c80498f1257aed60d.tar.gz
Wed May 3 15:42:14 UTC 2006 Yan Dai <dai_y@ociweb.com>
Diffstat (limited to 'TAO/TAO_IDL')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp
index 451061df12d..230b448d489 100644
--- a/TAO/TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp
@@ -1101,7 +1101,10 @@ switch (this->ctx_->sub_state ())
if (str->max_size ()->ev ()->u.ulval == 0)
{
// Unbounded.
- *os << "_tao_marshal_flag = (strm >> _tao_sequence[i].out ());"
+ *os << node->name ()
+ << "::value_type * buffer = _tao_sequence.get_buffer();"
+ << be_idt_nl;;
+ *os << "_tao_marshal_flag = (strm >> buffer[i]);"
<< be_uidt_nl;
}
else
@@ -1233,14 +1236,16 @@ switch (this->ctx_->sub_state ())
break;
case AST_Decl::NT_interface:
case AST_Decl::NT_interface_fwd:
- *os << "//DCPS does not support interfaces and value types";
+ *os << "//DCPS does not support interfaces";
break;
case AST_Decl::NT_string:
case AST_Decl::NT_wstring:
+ *os << "_tao_marshal_flag = (strm << _tao_sequence[i]);";
+ break;
case AST_Decl::NT_valuetype:
case AST_Decl::NT_valuetype_fwd:
- *os << "_tao_marshal_flag = (strm << _tao_sequence[i].in ());";
+ *os << "//DCPS does not support value types;\";
break;
case AST_Decl::NT_pre_defined: