diff options
author | gokhale <asgokhale@users.noreply.github.com> | 1998-07-02 19:32:06 +0000 |
---|---|---|
committer | gokhale <asgokhale@users.noreply.github.com> | 1998-07-02 19:32:06 +0000 |
commit | 8084b8175c5d8411c660079b5977b42ea1577cc0 (patch) | |
tree | aa3f1a24011ba8fba42cbaefd970c7985c0c3519 | |
parent | 914bfd76be145937d12c31725e30ee3077ac1e54 (diff) | |
download | ATCD-8084b8175c5d8411c660079b5977b42ea1577cc0.tar.gz |
*** empty log message ***
-rw-r--r-- | TAO/ChangeLog-98c | 5 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_array.cpp | 6 | ||||
-rw-r--r-- | TAO/tests/Param_Test/README | 2 | ||||
-rw-r--r-- | TAO/tests/Param_Test/client.cpp | 2 |
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:" |