summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-11-17 00:26:38 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-11-17 00:26:38 +0000
commitde2b4b1d2d396ba4f322e334c1106e4a1eabbea0 (patch)
tree02c2ca7546e703249d0802a2224f31be349d24ce /TAO/TAO_IDL
parent3db078a3e445ba3d7341449a957f657c5d6e0f2f (diff)
downloadATCD-de2b4b1d2d396ba4f322e334c1106e4a1eabbea0.tar.gz
ChangeLogTag:Sun Nov 16 18:18:50 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
Diffstat (limited to 'TAO/TAO_IDL')
-rw-r--r--TAO/TAO_IDL/be/be_operation.cpp3
-rw-r--r--TAO/TAO_IDL/be/be_state_operation.cpp13
2 files changed, 13 insertions, 3 deletions
diff --git a/TAO/TAO_IDL/be/be_operation.cpp b/TAO/TAO_IDL/be/be_operation.cpp
index 76a696f0374..65793c423e6 100644
--- a/TAO/TAO_IDL/be/be_operation.cpp
+++ b/TAO/TAO_IDL/be/be_operation.cpp
@@ -648,6 +648,8 @@ be_operation::gen_server_skeletons (void)
// not a void type
switch (rt->node_type ())
{
+#if 0
+ // @ Andy: this is the fix for the objref OUT params
case AST_Decl::NT_interface:
case AST_Decl::NT_interface_fwd:
{
@@ -656,6 +658,7 @@ be_operation::gen_server_skeletons (void)
*ss << "_tao_server_request.result (result, _tao_environment);" << nl;
}
break;
+#endif
default:
{
*ss << "result = new CORBA::Any (" << rt->tc_name () <<
diff --git a/TAO/TAO_IDL/be/be_state_operation.cpp b/TAO/TAO_IDL/be/be_state_operation.cpp
index f48cca18c98..9f2efeb13b3 100644
--- a/TAO/TAO_IDL/be/be_state_operation.cpp
+++ b/TAO/TAO_IDL/be/be_state_operation.cpp
@@ -103,13 +103,17 @@ be_state_operation::gen_code (be_type *bt, be_decl *d, be_type *type)
{
// *os << bt->name () << "_ptr retval;"; // callee
// allocates
- // some stupid problems arising out of casting to the bt->name type
- *os << "CORBA::Object_ptr retval;" << nl; // callee allocates
+ // some stupid problems arising out of casting to the
+ // bt->name type
+
+ // @@ Andy: this is the fix for the objref value...
+ *os << "CORBA::Object_ptr *retval ="
+ " new CORBA::Object_ptr;" << nl;
}
break;
case TAO_CodeGen::TAO_OPERATION_RETVAL_ASSIGN_SS:
{
- *os << "retval"; // assign to retval
+ *os << "*retval"; // assign to retval
}
break;
case TAO_CodeGen::TAO_OPERATION_CH:
@@ -547,11 +551,14 @@ be_state_operation::gen_code (be_type *bt, be_decl *d, be_type *type)
break;
case TAO_CodeGen::TAO_OPERATION_RETVAL_ASSIGN_SS:
{
+#if 0
+ // @@ Andy: this is the fix for the objref value...
if (type->size_type () == be_decl::VARIABLE)
{
*os << "retval";
}
else
+#endif
{
*os << "*retval";
}