summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgokhale <asgokhale@users.noreply.github.com>1998-07-02 19:32:06 +0000
committergokhale <asgokhale@users.noreply.github.com>1998-07-02 19:32:06 +0000
commit8084b8175c5d8411c660079b5977b42ea1577cc0 (patch)
treeaa3f1a24011ba8fba42cbaefd970c7985c0c3519
parent914bfd76be145937d12c31725e30ee3077ac1e54 (diff)
downloadATCD-8084b8175c5d8411c660079b5977b42ea1577cc0.tar.gz
*** empty log message ***
-rw-r--r--TAO/ChangeLog-98c5
-rw-r--r--TAO/TAO_IDL/be/be_array.cpp6
-rw-r--r--TAO/tests/Param_Test/README2
-rw-r--r--TAO/tests/Param_Test/client.cpp2
4 files changed, 13 insertions, 2 deletions
diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c
index 3e7a8be3c83..3881ecc4b29 100644
--- a/TAO/ChangeLog-98c
+++ b/TAO/ChangeLog-98c
@@ -1,3 +1,8 @@
+Thu Jul 2 14:28:01 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
+
+ * TAO_IDL/be/be_array.cpp: We were generating incorrect code for
+ the out () and _retn () methods of the Array_var class.
+
Thu Jul 2 12:36:28 1998 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu>
* orbsvcs/orbsvcs/Trader/Trader[_T].{h,cpp}:
diff --git a/TAO/TAO_IDL/be/be_array.cpp b/TAO/TAO_IDL/be/be_array.cpp
index 73b1d910822..8937d4b3dae 100644
--- a/TAO/TAO_IDL/be/be_array.cpp
+++ b/TAO/TAO_IDL/be/be_array.cpp
@@ -468,6 +468,8 @@ be_array::gen_var_impl (void)
*ci << fname << "::out (void)" << nl;
*ci << "{\n";
ci->incr_indent ();
+ *ci << this->name () << "_free (this->ptr_);" << be_nl;
+ *ci << "this->ptr_ = (" << this->name () << "_slice *)0;" << be_nl;
*ci << "return this->ptr_;\n";
ci->decr_indent ();
*ci << "}\n\n";
@@ -477,7 +479,9 @@ be_array::gen_var_impl (void)
*ci << fname << "::_retn (void)" << nl;
*ci << "{\n";
ci->incr_indent ();
- *ci << "return this->ptr_;\n";
+ *ci << this->name () << "_slice *tmp = this->ptr_;" << be_nl;
+ *ci << "this->ptr_ = (" << this->name () << "_slice *)0;" << be_nl;
+ *ci << "return tmp;\n";
ci->decr_indent ();
*ci << "}\n\n";
diff --git a/TAO/tests/Param_Test/README b/TAO/tests/Param_Test/README
index 7a7de12c293..19c366b8442 100644
--- a/TAO/tests/Param_Test/README
+++ b/TAO/tests/Param_Test/README
@@ -68,6 +68,8 @@ To run the client, type
long_sequence for sequences of shorts
bounded_short_sequence for bounded sequences of shorts
bounded_long_sequence for bounded sequences of shorts
+ fixed_array for arrays of fixed sized types (longs)
+ var_array for arrays of var sized types (strings)
There are 2 options of giving the Param_obj-ref-key i.e IOR to the client:
diff --git a/TAO/tests/Param_Test/client.cpp b/TAO/tests/Param_Test/client.cpp
index 115e692439b..a9a39e5a143 100644
--- a/TAO/tests/Param_Test/client.cpp
+++ b/TAO/tests/Param_Test/client.cpp
@@ -103,7 +103,7 @@ Param_Test_Client<T>::run_sii_test (void)
i));
continue;
}
- // reset parameters for the test
+ // reset parameters for the test.
if (this->test_object_->reset_parameters () == -1)
ACE_ERROR_RETURN ((LM_ERROR,
"(%N:%l) client.cpp - run_dii_test:"