diff options
author | jp4 <jp4@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-10-26 02:25:45 +0000 |
---|---|---|
committer | jp4 <jp4@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-10-26 02:25:45 +0000 |
commit | 7b83f028964698b6b5f9d97be43602011e1ad2f0 (patch) | |
tree | 016d600bc591c8474649cb7844e8553285ef414c | |
parent | 4e0afa33462da6f54036ec07c809624dc6c078a1 (diff) | |
download | ATCD-7b83f028964698b6b5f9d97be43602011e1ad2f0.tar.gz |
*** empty log message ***
-rw-r--r-- | TAO/tao/DynArray_i.cpp | 9 | ||||
-rw-r--r-- | TAO/tao/DynSequence_i.cpp | 9 | ||||
-rw-r--r-- | TAO/tao/DynStruct_i.cpp | 7 | ||||
-rw-r--r-- | TAO/tao/DynUnion_i.cpp | 26 | ||||
-rw-r--r-- | TAO/tests/DynAny_Test/test_dynany.cpp | 12 | ||||
-rw-r--r-- | TAO/tests/DynAny_Test/test_dynarray.cpp | 9 | ||||
-rw-r--r-- | TAO/tests/DynAny_Test/test_dynenum.cpp | 4 | ||||
-rw-r--r-- | TAO/tests/DynAny_Test/test_dynsequence.cpp | 7 | ||||
-rw-r--r-- | TAO/tests/DynAny_Test/test_dynstruct.cpp | 7 | ||||
-rw-r--r-- | TAO/tests/DynAny_Test/test_dynunion.cpp | 14 |
10 files changed, 85 insertions, 19 deletions
diff --git a/TAO/tao/DynArray_i.cpp b/TAO/tao/DynArray_i.cpp index 2b8718a4258..6a5e0393d12 100644 --- a/TAO/tao/DynArray_i.cpp +++ b/TAO/tao/DynArray_i.cpp @@ -121,7 +121,11 @@ TAO_DynArray_i::get_elements (CORBA::Environment& _env) // Initialize each Any. for (CORBA::ULong i = 0; i < length; i++) - (*elements)[i] = *this->da_members_[i]->to_any (_env); + { + CORBA::Any_ptr temp = this->da_members_[i]->to_any (_env); + (*elements)[i] = *temp; + delete temp; + } return elements; } @@ -152,7 +156,6 @@ TAO_DynArray_i::set_elements (const AnySeq& value, this->da_members_[i] = TAO_DynAny_i::create_dyn_any (value[i], env); - else { env.exception (new CORBA_DynAny::InvalidSeq); @@ -268,6 +271,8 @@ TAO_DynArray_i::to_any (CORBA::Environment& _env) TAO_InputCDR field_cdr (field_mb); out_cdr.append (field_tc, &field_cdr, _env); + + delete field_any; } TAO_InputCDR in_cdr (out_cdr); diff --git a/TAO/tao/DynSequence_i.cpp b/TAO/tao/DynSequence_i.cpp index 8aef4db7224..f4356ef771b 100644 --- a/TAO/tao/DynSequence_i.cpp +++ b/TAO/tao/DynSequence_i.cpp @@ -144,7 +144,12 @@ TAO_DynSequence_i::get_elements (CORBA::Environment& _env) // Initialize each Any. for (CORBA::ULong i = 0; i < length; i++) - (*elements)[i] = *this->da_members_[i]->to_any (_env); + { + CORBA::Any_ptr temp = this->da_members_[i]->to_any (_env); + (*elements)[i] = *temp; + delete temp; + } + return elements; } @@ -300,6 +305,8 @@ TAO_DynSequence_i::to_any (CORBA::Environment& _env) out_cdr.append (field_tc, &field_cdr, _env); + + delete field_any; } TAO_InputCDR in_cdr (out_cdr); diff --git a/TAO/tao/DynStruct_i.cpp b/TAO/tao/DynStruct_i.cpp index b7448f8687d..e5be473a943 100644 --- a/TAO/tao/DynStruct_i.cpp +++ b/TAO/tao/DynStruct_i.cpp @@ -131,7 +131,10 @@ TAO_DynStruct_i::get_members (CORBA::Environment& _env) { (*members)[i].id = CORBA::string_dup (this->type_.in ()->member_name (i)); - (*members)[i].value = *this->da_members_[i]->to_any (_env); + + CORBA::Any_ptr temp = this->da_members_[i]->to_any (_env); + (*members)[i].value = *temp; + delete temp; } return members; @@ -268,6 +271,8 @@ TAO_DynStruct_i::to_any (CORBA::Environment& env) out_cdr.append (field_tc, &field_cdr, env); + + delete field_any; } TAO_InputCDR in_cdr (out_cdr); diff --git a/TAO/tao/DynUnion_i.cpp b/TAO/tao/DynUnion_i.cpp index 588de2c1875..0c60f124531 100644 --- a/TAO/tao/DynUnion_i.cpp +++ b/TAO/tao/DynUnion_i.cpp @@ -233,6 +233,8 @@ TAO_DynUnion_i::to_any (CORBA::Environment& _env) &disc_cdr, _env); + delete disc_any; + // Add the member to the CDR stream. CORBA_TypeCode_ptr member_tc = this->member_->type (_env); @@ -248,6 +250,8 @@ TAO_DynUnion_i::to_any (CORBA::Environment& _env) &member_cdr, _env); + delete member_any; + // Make the Any. TAO_InputCDR in_cdr (out_cdr); @@ -1248,47 +1252,47 @@ TAO_DynUnion_i::Enum_extractor::check_match (const CORBA_Any& inside_any, } // Functor factory. -::DU_Extractor_base* +DU_Extractor_base* TAO_DynUnion_i::get_extractor (CORBA::TCKind kind, CORBA::Environment& _env) { - ::DU_Extractor_base* retval; + DU_Extractor_base* retval; switch (kind) { case CORBA::tk_short: ACE_NEW_THROW_RETURN (retval, - ::DU_Extractor<CORBA::Short>, + DU_Extractor<CORBA::Short>, CORBA::NO_MEMORY (CORBA::COMPLETED_NO), 0); return retval; case CORBA::tk_long: ACE_NEW_THROW_RETURN (retval, - ::DU_Extractor<CORBA::Long>, + DU_Extractor<CORBA::Long>, CORBA::NO_MEMORY (CORBA::COMPLETED_NO), 0); return retval; case CORBA::tk_ushort: ACE_NEW_THROW_RETURN (retval, - ::DU_Extractor<CORBA::UShort>, + DU_Extractor<CORBA::UShort>, CORBA::NO_MEMORY (CORBA::COMPLETED_NO), 0); return retval; case CORBA::tk_ulong: ACE_NEW_THROW_RETURN (retval, - ::DU_Extractor<CORBA::ULong>, + DU_Extractor<CORBA::ULong>, CORBA::NO_MEMORY (CORBA::COMPLETED_NO), 0); return retval; case CORBA::tk_boolean: ACE_NEW_THROW_RETURN (retval, - ::DU_Extractor<CORBA::Boolean>, + DU_Extractor<CORBA::Boolean>, CORBA::NO_MEMORY (CORBA::COMPLETED_NO), 0); return retval; case CORBA::tk_char: ACE_NEW_THROW_RETURN (retval, - ::DU_Extractor<CORBA::Char>, + DU_Extractor<CORBA::Char>, CORBA::NO_MEMORY (CORBA::COMPLETED_NO), 0); return retval; @@ -1297,7 +1301,7 @@ TAO_DynUnion_i::get_extractor (CORBA::TCKind kind, #if !defined (ACE_LACKS_LONGLONG_T) case CORBA::tk_longlong: ACE_NEW_THROW_RETURN (retval, - ::DU_Extractor<CORBA::LongLong>, + DU_Extractor<CORBA::LongLong>, CORBA::NO_MEMORY (CORBA::COMPLETED_NO), 0); @@ -1306,7 +1310,7 @@ TAO_DynUnion_i::get_extractor (CORBA::TCKind kind, case CORBA::tk_ulonglong: ACE_NEW_THROW_RETURN (retval, - ::DU_Extractor<CORBA::ULongLong>, + DU_Extractor<CORBA::ULongLong>, CORBA::NO_MEMORY (CORBA::COMPLETED_NO), 0); return retval; @@ -1356,7 +1360,7 @@ TAO_DynUnion_i::set_from_any (const CORBA_Any& any, CORBA::TCKind discriminator_kind = disc_tc->kind (env); - ::DU_Extractor_base* functor = + DU_Extractor_base* functor = this->get_extractor (discriminator_kind, env); diff --git a/TAO/tests/DynAny_Test/test_dynany.cpp b/TAO/tests/DynAny_Test/test_dynany.cpp index 30403e3b045..11f29170abe 100644 --- a/TAO/tests/DynAny_Test/test_dynany.cpp +++ b/TAO/tests/DynAny_Test/test_dynany.cpp @@ -70,7 +70,7 @@ Test_DynAny::run_test (void) ACE_DEBUG ((LM_DEBUG, "testing: constructor(TypeCode)/from_any/to_any\n")); - d_out = data.m_double1; + d_out = data.m_double2; TAO_DynAny_i ftc1 (CORBA::_tc_double); CORBA::Any in_any1; in_any1 <<= data.m_double1; @@ -80,6 +80,10 @@ Test_DynAny::run_test (void) CORBA::Any* out_any1 = ftc1.to_any (TAO_TRY_ENV); TAO_CHECK_ENV; *out_any1 >>= d_out; + + // value in DynAny_i created with NEW + delete out_any1; + if (d_out == data.m_double1) ACE_DEBUG ((LM_DEBUG, "++ OK ++\n")); @@ -101,7 +105,7 @@ Test_DynAny::run_test (void) CORBA_Any in (CORBA::_tc_TypeCode); TAO_DynAny_i fa2 (in); fa2.insert_typecode (data.m_typecode1, - TAO_TRY_ENV); + TAO_TRY_ENV); TAO_CHECK_ENV; CORBA::TypeCode_ptr tc_out = fa2.get_typecode (TAO_TRY_ENV); TAO_CHECK_ENV; @@ -127,6 +131,10 @@ Test_DynAny::run_test (void) CORBA::Any* out_any2 = ftc2.to_any (TAO_TRY_ENV); TAO_CHECK_ENV; *out_any2 >>= tc_out; + + // value in DynAny_i created with NEW + delete out_any2; + if (tc_out->equal(data.m_typecode1, TAO_TRY_ENV)) ACE_DEBUG ((LM_DEBUG, diff --git a/TAO/tests/DynAny_Test/test_dynarray.cpp b/TAO/tests/DynAny_Test/test_dynarray.cpp index 8f1b0d9809f..d3ac479fd6a 100644 --- a/TAO/tests/DynAny_Test/test_dynarray.cpp +++ b/TAO/tests/DynAny_Test/test_dynarray.cpp @@ -93,13 +93,17 @@ Test_DynArray::run_test (void) CORBA::Any* out_any1 = ftc1.to_any (TAO_TRY_ENV); TAO_CHECK_ENV; DynAnyTests::test_array_forany ta_out; - *out_any1 >>= ta_out; + *out_any1 >>= ta_out; + if (ta_out[(CORBA::ULong) 1] == data.m_long1) ACE_DEBUG ((LM_DEBUG, "++ OK ++\n")); else ++this->error_count_; + // Created with NEW + delete out_any1; + ACE_DEBUG ((LM_DEBUG, "testing: set_elements/get_elements\n")); @@ -123,6 +127,9 @@ Test_DynArray::run_test (void) else ++this->error_count_; + // Created with NEW + delete as_out; + fa1.destroy (TAO_TRY_ENV); TAO_CHECK_ENV; ftc1.destroy (TAO_TRY_ENV); diff --git a/TAO/tests/DynAny_Test/test_dynenum.cpp b/TAO/tests/DynAny_Test/test_dynenum.cpp index 0e8f8760390..57a4ccc2de5 100644 --- a/TAO/tests/DynAny_Test/test_dynenum.cpp +++ b/TAO/tests/DynAny_Test/test_dynenum.cpp @@ -90,6 +90,10 @@ Test_DynEnum::run_test (void) "++ OK ++\n")); else ++this->error_count_; + + // Created with NEW + delete out_any1; + } TAO_CATCHANY { diff --git a/TAO/tests/DynAny_Test/test_dynsequence.cpp b/TAO/tests/DynAny_Test/test_dynsequence.cpp index 9703e975e4f..d5c911a05ce 100644 --- a/TAO/tests/DynAny_Test/test_dynsequence.cpp +++ b/TAO/tests/DynAny_Test/test_dynsequence.cpp @@ -102,6 +102,10 @@ Test_DynSequence::run_test (void) else ++this->error_count_; + // Created with NEW + delete out_any1; + + ACE_DEBUG ((LM_DEBUG, "testing: length/set_elements/get_elements\n")); @@ -134,6 +138,9 @@ Test_DynSequence::run_test (void) ACE_DEBUG ((LM_DEBUG, "++ OK ++\n")); + // Created with NEW + delete as_out; + fa1.destroy (TAO_TRY_ENV); TAO_CHECK_ENV; ftc1.destroy (TAO_TRY_ENV); diff --git a/TAO/tests/DynAny_Test/test_dynstruct.cpp b/TAO/tests/DynAny_Test/test_dynstruct.cpp index 212e40d9c9a..7797cc8e7e3 100644 --- a/TAO/tests/DynAny_Test/test_dynstruct.cpp +++ b/TAO/tests/DynAny_Test/test_dynstruct.cpp @@ -114,6 +114,9 @@ Test_DynStruct::run_test (void) else ++this->error_count_; + // Created with NEW + delete out_any1; + ACE_DEBUG ((LM_DEBUG, "testing: current_member_name/current_member_kind\n")); @@ -145,6 +148,10 @@ Test_DynStruct::run_test (void) if (ACE_OS::strcmp ((*gm)[2].id, "es")) ++this->error_count_; + // Created with NEW + delete nvps; + delete gm; + fa1.destroy (TAO_TRY_ENV); TAO_CHECK_ENV; ftc1.destroy (TAO_TRY_ENV); diff --git a/TAO/tests/DynAny_Test/test_dynunion.cpp b/TAO/tests/DynAny_Test/test_dynunion.cpp index f66082ce646..298fce3680d 100644 --- a/TAO/tests/DynAny_Test/test_dynunion.cpp +++ b/TAO/tests/DynAny_Test/test_dynunion.cpp @@ -89,6 +89,9 @@ Test_DynUnion::run_test (void) else ++this->error_count_; + // Created with NEW + delete out_any1; + ACE_DEBUG ((LM_DEBUG, "testing: set_as_default\n")); @@ -127,7 +130,16 @@ Test_DynUnion::run_test (void) ACE_DEBUG ((LM_DEBUG, "++ OK ++\n")); else - ++this->error_count_; + ++this->error_count_; + + fa1.destroy (TAO_TRY_ENV); + TAO_CHECK_ENV; + ftc1.destroy (TAO_TRY_ENV); + TAO_CHECK_ENV; + dp1->destroy (TAO_TRY_ENV); + TAO_CHECK_ENV; + dp2->destroy (TAO_TRY_ENV); + TAO_CHECK_ENV; } TAO_CATCHANY { |