summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjp4 <jp4@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-10-26 02:25:45 +0000
committerjp4 <jp4@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-10-26 02:25:45 +0000
commit7b83f028964698b6b5f9d97be43602011e1ad2f0 (patch)
tree016d600bc591c8474649cb7844e8553285ef414c
parent4e0afa33462da6f54036ec07c809624dc6c078a1 (diff)
downloadATCD-7b83f028964698b6b5f9d97be43602011e1ad2f0.tar.gz
*** empty log message ***
-rw-r--r--TAO/tao/DynArray_i.cpp9
-rw-r--r--TAO/tao/DynSequence_i.cpp9
-rw-r--r--TAO/tao/DynStruct_i.cpp7
-rw-r--r--TAO/tao/DynUnion_i.cpp26
-rw-r--r--TAO/tests/DynAny_Test/test_dynany.cpp12
-rw-r--r--TAO/tests/DynAny_Test/test_dynarray.cpp9
-rw-r--r--TAO/tests/DynAny_Test/test_dynenum.cpp4
-rw-r--r--TAO/tests/DynAny_Test/test_dynsequence.cpp7
-rw-r--r--TAO/tests/DynAny_Test/test_dynstruct.cpp7
-rw-r--r--TAO/tests/DynAny_Test/test_dynunion.cpp14
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
{