diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-07-02 20:12:18 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-07-02 20:12:18 +0000 |
commit | 73702a7343694a9271ff22bbb6aff36e72d74d0d (patch) | |
tree | 4523b64d1b986a95f045a6b8c844a8f2acfde852 /TAO/tao | |
parent | 27847df8de460b35cba30a3560ff1ac5a0968a50 (diff) | |
download | ATCD-73702a7343694a9271ff22bbb6aff36e72d74d0d.tar.gz |
ChangeLogTag: Tue Jul 2 14:57:27 2002 Jeff Parsons <parsons@cs.wustl.edu>
Diffstat (limited to 'TAO/tao')
-rw-r--r-- | TAO/tao/Any.cpp | 15 | ||||
-rw-r--r-- | TAO/tao/append.cpp | 5 | ||||
-rw-r--r-- | TAO/tao/skip.cpp | 2 |
3 files changed, 16 insertions, 6 deletions
diff --git a/TAO/tao/Any.cpp b/TAO/tao/Any.cpp index 2c98d29d0ba..962fa15d5d4 100644 --- a/TAO/tao/Any.cpp +++ b/TAO/tao/Any.cpp @@ -1793,11 +1793,18 @@ operator<< (TAO_OutputCDR& cdr, { TAO_InputCDR input (x._tao_get_cdr (), x._tao_byte_order ()); - TAO_Marshal_Object::perform_append (tc.in (), - &input, - &cdr - ACE_ENV_ARG_PARAMETER); + + CORBA::TypeCode::traverse_status status = + TAO_Marshal_Object::perform_append (tc.in (), + &input, + &cdr + ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; + + if (status != CORBA::TypeCode::TRAVERSE_CONTINUE) + { + return 0; + } } ACE_CATCH (CORBA_Exception, ex) { diff --git a/TAO/tao/append.cpp b/TAO/tao/append.cpp index 8979afd5cc1..cefbf980b50 100644 --- a/TAO/tao/append.cpp +++ b/TAO/tao/append.cpp @@ -594,7 +594,10 @@ TAO_Marshal_Union::append (CORBA::TypeCode_ptr tc, ACE_ENV_ARG_PARAMETER); } - return CORBA::TypeCode::TRAVERSE_STOP; + // If we're here, we have an implicit default case, and we + // should just return without appending anything, since no + // union member was marshaled in the first place. + return CORBA::TypeCode::TRAVERSE_CONTINUE; } // If we found the member successfully then just use that one... diff --git a/TAO/tao/skip.cpp b/TAO/tao/skip.cpp index e05a686a8f7..d10a9f4526e 100644 --- a/TAO/tao/skip.cpp +++ b/TAO/tao/skip.cpp @@ -544,7 +544,7 @@ TAO_Marshal_Union::skip (CORBA::TypeCode_ptr tc, } // If we're here, we have an implicit default case, and we - // should just return without demarshaling anything, since no + // should just return without skipping anything, since no // union member was marshaled in the first place. return CORBA::TypeCode::TRAVERSE_CONTINUE; } |