summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL
diff options
context:
space:
mode:
authordai_y <dai_y@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2007-04-18 20:07:17 +0000
committerdai_y <dai_y@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2007-04-18 20:07:17 +0000
commit5d2146e128c7a2e89598e375587e71776390ab7c (patch)
tree50642f02af06ffa72a277db6ba09192ee77e1f95 /TAO/TAO_IDL
parent2c649840d72e4318f52b6bea5679e431420ab2a9 (diff)
downloadATCD-5d2146e128c7a2e89598e375587e71776390ab7c.tar.gz
Wed Apr 18 19:55:11 UTC 2007 Yan Dai <dai_y@ociweb.com>
Diffstat (limited to 'TAO/TAO_IDL')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_structure/serializer_op_ch.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_structure/serializer_op_ch.cpp b/TAO/TAO_IDL/be/be_visitor_structure/serializer_op_ch.cpp
index 7b5b502332b..867f5d86357 100644
--- a/TAO/TAO_IDL/be/be_visitor_structure/serializer_op_ch.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_structure/serializer_op_ch.cpp
@@ -85,11 +85,25 @@ be_visitor_structure_serializer_op_ch::visit_structure (be_structure *node)
*os << "return ";
IDL_GlobalData::DCPS_Data_Type_Info_Iter iter (info->key_list_);
+ IDL_GlobalData::DCPS_Data_Type_Info_Iter begin = iter;
+
for (ACE_CString *kp = 0;
iter.next (kp) != 0;
)
{
+ *os << "(";
+ IDL_GlobalData::DCPS_Data_Type_Info_Iter prev = begin;
+ for (ACE_TString *p = 0;
+ prev.next (p) != 0 && p != kp;
+ )
+ {
+ *os << "v1." << p->c_str () << " == " << "v2." << p->c_str () << " && ";
+ prev.advance ();
+ }
+
*os << "v1." << kp->c_str () << " < " << "v2." << kp->c_str ();
+ *os << ")";
+
iter.advance ();
if (iter.done ())
*os << ";" << be_uidt_nl;