summaryrefslogtreecommitdiff
path: root/TAO
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-10-10 04:54:20 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-10-10 04:54:20 +0000
commit97c5b0f676ac189b02b71baa111c119b8ce5acdc (patch)
tree75650bccb864a8f0fef23f21afc65be1da8c46f7 /TAO
parentebf15c4c63630298289e7ef4e57a39268d477e22 (diff)
downloadATCD-97c5b0f676ac189b02b71baa111c119b8ce5acdc.tar.gz
*** empty log message ***
Diffstat (limited to 'TAO')
-rw-r--r--TAO/ChangeLog-98c5
-rw-r--r--TAO/tao/Server_Request.cpp12
2 files changed, 7 insertions, 10 deletions
diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c
index 96e142a4998..4573f6050ec 100644
--- a/TAO/ChangeLog-98c
+++ b/TAO/ChangeLog-98c
@@ -1,3 +1,8 @@
+Fri Oct 09 23:48:40 1998 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * tao/Server_Request.cpp (set_exception and set_result): Used the
+ Any copy constructor to copy the user provided any.
+
Fri Oct 9 17:13:32 1998 Nagarajan Surendran <naga@cs.wustl.edu>
* orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: Used the host and
diff --git a/TAO/tao/Server_Request.cpp b/TAO/tao/Server_Request.cpp
index bd4430df5f3..c630ba05fe8 100644
--- a/TAO/tao/Server_Request.cpp
+++ b/TAO/tao/Server_Request.cpp
@@ -288,11 +288,7 @@ IIOP_ServerRequest::set_result (const CORBA::Any &value,
env.exception (new CORBA::BAD_INV_ORDER (CORBA::COMPLETED_NO));
else
{
- this->retval_ = new CORBA::Any;
- // @@ TODO Does this work in all the cases? Shouldn't we use
- // operator= or something similar?
- CORBA::TypeCode_var type = value.type ();
- this->retval_->replace (type.in (), value.value (), 1, env);
+ this->retval_ = new CORBA::Any (value);
}
}
@@ -319,11 +315,7 @@ IIOP_ServerRequest::set_exception (const CORBA::Any &value,
// Normal exception
else
{
- this->exception_ = new CORBA::Any;
- // @@ TODO Does this work in all the cases? Shouldn't we use
- // operator= or something similar?
- CORBA::TypeCode_var type = value.type ();
- this->exception_->replace (type.in (), value.value (), 1, env);
+ this->exception_ = new CORBA::Any (value);
// @@ This cast is not safe, but we haven't implemented the >>=
// and <<= operators for base exceptions (yet).