From ccddecef986ca4a15098b321c0f9a9739395c0c2 Mon Sep 17 00:00:00 2001 From: Ossama Othman Date: Wed, 7 Mar 2001 07:52:10 +0000 Subject: ChangeLogTag:Tue Mar 06 23:43:07 2001 Ossama Othman --- TAO/tao/IIOPC.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'TAO/tao/IIOPC.cpp') diff --git a/TAO/tao/IIOPC.cpp b/TAO/tao/IIOPC.cpp index 53c164dc8c1..e4884ba1fda 100644 --- a/TAO/tao/IIOPC.cpp +++ b/TAO/tao/IIOPC.cpp @@ -344,11 +344,15 @@ CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, const IIOP::ListenPointL ACE_TRY_NEW_ENV { CORBA::TypeCode_var type = _tao_any.type (); - if (!type->equivalent (IIOP::_tc_ListenPointList, ACE_TRY_ENV)) // not equal + CORBA::Boolean result = + type->equivalent (IIOP::_tc_ListenPointList, ACE_TRY_ENV); + ACE_TRY_CHECK; + + if (!result) { return 0; } - ACE_TRY_CHECK; + if (_tao_any.any_owns_data ()) { _tao_elem = ACE_static_cast( @@ -425,11 +429,16 @@ CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, const IIOP::BiDirIIOPSer ACE_TRY_NEW_ENV { CORBA::TypeCode_var type = _tao_any.type (); - if (!type->equivalent (IIOP::_tc_BiDirIIOPServiceContext, ACE_TRY_ENV)) // not equal + CORBA::Boolean result = + type->equivalent (IIOP::_tc_BiDirIIOPServiceContext, + ACE_TRY_ENV); + ACE_TRY_CHECK; + + if (!result) { return 0; } - ACE_TRY_CHECK; + if (_tao_any.any_owns_data ()) { _tao_elem = ACE_static_cast( -- cgit v1.2.1