summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp
diff options
context:
space:
mode:
authorgokhale <asgokhale@users.noreply.github.com>1998-06-24 16:55:16 +0000
committergokhale <asgokhale@users.noreply.github.com>1998-06-24 16:55:16 +0000
commit95e6ed3b80a692577d1800986fcd8a5c05023b19 (patch)
treeffe27265ec435bac877b5c46a29c935ba9d41ac2 /TAO/TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp
parent16927626613b2a560d76383363484141558dc6b0 (diff)
downloadATCD-95e6ed3b80a692577d1800986fcd8a5c05023b19.tar.gz
*** empty log message ***
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp25
1 files changed, 14 insertions, 11 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp b/TAO/TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp
index 098bd5ae403..2971d6c1a4e 100644
--- a/TAO/TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp
@@ -104,18 +104,21 @@ be_visitor_args_pre_docall_cs::visit_array (be_array *node)
switch (this->direction ())
{
case AST_Argument::dir_OUT:
- os->indent ();
- *os << bt->name () << "_slice *&_tao_base_" << arg->local_name ()
- << " = " << arg->local_name () << ".ptr ();" << be_nl;
- if (!this->void_return_type ())
+ if (node->size_type () == be_decl::VARIABLE)
{
- *os << "ACE_ALLOCATOR_RETURN (_tao_base_" << arg->local_name ()
- << ", " << bt->name () << "_alloc (), _tao_retval);\n";
- }
- else
- {
- *os << "ACE_ALLOCATOR (_tao_base_" << arg->local_name ()
- << ", " << bt->name () << "_alloc ());\n";
+ os->indent ();
+ *os << bt->name () << "_slice *&_tao_base_" << arg->local_name ()
+ << " = " << arg->local_name () << ".ptr ();" << be_nl;
+ if (!this->void_return_type ())
+ {
+ *os << "ACE_ALLOCATOR_RETURN (_tao_base_" << arg->local_name ()
+ << ", " << bt->name () << "_alloc (), _tao_retval);\n";
+ }
+ else
+ {
+ *os << "ACE_ALLOCATOR (_tao_base_" << arg->local_name ()
+ << ", " << bt->name () << "_alloc ());\n";
+ }
}
break;
default: