diff options
author | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-10-10 04:54:20 +0000 |
---|---|---|
committer | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-10-10 04:54:20 +0000 |
commit | 97c5b0f676ac189b02b71baa111c119b8ce5acdc (patch) | |
tree | 75650bccb864a8f0fef23f21afc65be1da8c46f7 /TAO | |
parent | ebf15c4c63630298289e7ef4e57a39268d477e22 (diff) | |
download | ATCD-97c5b0f676ac189b02b71baa111c119b8ce5acdc.tar.gz |
*** empty log message ***
Diffstat (limited to 'TAO')
-rw-r--r-- | TAO/ChangeLog-98c | 5 | ||||
-rw-r--r-- | TAO/tao/Server_Request.cpp | 12 |
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). |